From dc28e6a2eae53d48b22c668b6e8cad1c582a11ce Mon Sep 17 00:00:00 2001 From: Ondrej Stava Date: Mon, 11 Sep 2017 15:38:19 -0700 Subject: [PATCH] Updated Draco to 1.1.0 The latest version of Draco brings a number of new compression enhancements for even smaller models: - Improved compression - Up to 40% better compression of normals - Up to 5% better compression for models with multiple attributes - Faster decode speeds - 30% faster decoding for models with multiple attributes for lower compression levels 4 and below - Note: Decreases compression by 10%. - Encoding of metadata to .obj (e.g. Draco can preserve material or sub-object names) - Security fixes --- CMakeLists.txt | 17 +- README.md | 30 +-- javascript/draco_decoder.js | 21 +- javascript/draco_decoder.wasm | Bin 418679 -> 408294 bytes javascript/draco_encoder.js | 30 +++ javascript/draco_wasm_wrapper.js | 221 +++++++++--------- javascript/{ => example}/DRACOLoader.js | 20 +- javascript/example/webgl_loader_draco.html | 6 +- javascript/npm/draco3d/README.md | 28 +-- .../npm/draco3d/draco_decoder_nodejs.js | 15 +- .../npm/draco3d/draco_encoder_nodejs.js | 14 +- javascript/npm/draco3d/package.json | 2 +- src/draco/attributes/geometry_attribute.h | 8 +- .../attributes/attributes_decoder.cc | 2 +- ...ediction_scheme_geometric_normal_decoder.h | 7 +- ...ediction_scheme_geometric_normal_encoder.h | 2 +- ...n_scheme_geometric_normal_predictor_area.h | 55 +++-- ...n_scheme_geometric_normal_predictor_base.h | 7 + ...esh_prediction_scheme_tex_coords_decoder.h | 12 +- .../sequential_integer_attribute_decoder.cc | 7 + .../compression/config/compression_shared.h | 7 +- src/draco/compression/config/draco_options.h | 14 ++ .../mesh/mesh_edgebreaker_decoder_impl.cc | 55 ++++- .../mesh/mesh_edgebreaker_decoder_impl.h | 4 +- .../mesh/mesh_edgebreaker_encoder_impl.cc | 84 ++++--- .../mesh/mesh_edgebreaker_encoder_impl.h | 10 +- .../mesh/mesh_edgebreaker_encoding_test.cc | 39 ++++ .../mesh/mesh_edgebreaker_traversal_encoder.h | 18 +- .../compression/mesh/mesh_encoder_test.cc | 3 +- src/draco/core/ans.h | 2 +- src/draco/core/draco_version.h | 2 +- src/draco/io/obj_decoder.cc | 50 ++-- src/draco/io/obj_decoder.h | 3 +- src/draco/io/obj_encoder.cc | 122 +++++++++- src/draco/io/obj_encoder.h | 16 ++ src/draco/io/obj_encoder_test.cc | 113 +++++++++ .../emscripten/decoder_webidl_wrapper.cc | 5 + .../emscripten/decoder_webidl_wrapper.h | 4 + .../emscripten/draco_web_decoder.idl | 2 + src/draco/javascript/emscripten/version.js | 2 +- src/draco/mesh/corner_table.cc | 5 + src/draco/mesh/mesh_misc_functions.cc | 17 ++ src/draco/mesh/mesh_misc_functions.h | 8 +- src/draco/point_cloud/point_cloud.cc | 8 + src/draco/point_cloud/point_cloud.h | 3 + src/draco/tools/draco_encoder.cc | 51 +++- testdata/mat_test.obj | 1 + testdata/test_nm.obj.edgebreaker.1.1.0.drc | Bin 0 -> 2035 bytes testdata/test_nm.obj.sequential.1.1.0.drc | Bin 0 -> 2464 bytes 49 files changed, 853 insertions(+), 299 deletions(-) create mode 100644 javascript/draco_encoder.js rename javascript/{ => example}/DRACOLoader.js (96%) create mode 100644 src/draco/io/obj_encoder_test.cc create mode 100644 testdata/test_nm.obj.edgebreaker.1.1.0.drc create mode 100644 testdata/test_nm.obj.sequential.1.1.0.drc diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c61774..645d705 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,7 @@ if (ENABLE_MESH_COMPRESSION) endif () endif () + # Turn on more compiler warnings. if (ENABLE_EXTRA_WARNINGS) if (MSVC) @@ -534,6 +535,7 @@ set(draco_test_sources "${draco_src_root}/core/symbol_coding_test.cc" "${draco_src_root}/core/vector_d_test.cc" "${draco_src_root}/io/obj_decoder_test.cc" + "${draco_src_root}/io/obj_encoder_test.cc" "${draco_src_root}/io/ply_decoder_test.cc" "${draco_src_root}/io/ply_reader_test.cc" "${draco_src_root}/io/point_cloud_io_test.cc" @@ -565,12 +567,12 @@ if (EMSCRIPTEN) require_compiler_flag("--llvm-lto 1" YES) endif () require_compiler_flag("-s NO_FILESYSTEM=1" YES) - require_compiler_flag("-s ELIMINATE_DUPLICATE_FUNCTIONS=1" YES) require_compiler_flag("-s EXPORTED_RUNTIME_METHODS=[]" YES) require_compiler_flag("-s PRECISE_F32=1" YES) if (ENABLE_WASM) require_compiler_flag("-s WASM=1" YES) - require_compiler_flag("-s BINARYEN_IMPRECISE=1" YES) + else () + require_compiler_flag("-s ELIMINATE_DUPLICATE_FUNCTIONS=1" YES) endif () if (CMAKE_BUILD_TYPE STREQUAL "") @@ -588,14 +590,17 @@ if (EMSCRIPTEN) execute_process(COMMAND ${PYTHON_EXECUTABLE} $ENV{EMSCRIPTEN}/tools/webidl_binder.py ${draco_js_dec_idl} - ${draco_build_dir}/glue_decoder - OUTPUT_FILE ${draco_build_dir}/glue_decoder.cpp) + ${draco_build_dir}/glue_decoder) execute_process(COMMAND ${PYTHON_EXECUTABLE} $ENV{EMSCRIPTEN}/tools/webidl_binder.py ${draco_js_enc_idl} - ${draco_build_dir}/glue_encoder - OUTPUT_FILE ${draco_build_dir}/glue_encoder.cpp) + ${draco_build_dir}/glue_encoder) + + if (NOT EXISTS "${draco_build_dir}/glue_decoder.cpp" OR + NOT EXISTS "${draco_build_dir}/glue_encoder.cpp") + message(FATAL_ERROR "Glue generation failed.") + endif () # Add a custom rule depending on the IDL to regenerate # ${draco_build_dir}/glue_decoder.cpp as needed. diff --git a/README.md b/README.md index 3dcdb07..e601682 100644 --- a/README.md +++ b/README.md @@ -5,23 +5,17 @@ News ======= -### Version 1.0.0 release -The latest version of Draco brings many new enhancements to improve the -development experience: -* Stable API release -* Support for npm Javascript package management -* Javascript based encoder -* Generalized metadata for meshes and point clouds - * Now supporting material properties included along with encoded file -* Improved compression rates: - * 15% better compression on smaller models - * 40% better compression of normals -* Performance improvements (~10% faster encoding, decoding) -* Reduced GPU memory usage: - * Option to store decoded quantized attributes - * Support for triangle strip connectivity on decoded meshes -* iOS 9 Javascript decoder -* Bitstream specification now available +### Version 1.1.0 release +The latest version of Draco brings a number of new compression enhancements for +even smaller models: +* Improved compression + * Up to 40% better compression of normals + * Up to 5% better compression for models with multiple attributes +* Faster decode speeds + * 30% faster decoding for models with multiple attributes for lower compression levels 4 and below + * Note: Decreases compression by 10%. +* Encoding of metadata to .obj (e.g. Draco can preserve material or sub-object names) +* Security fixes @@ -54,7 +48,7 @@ _**Contents**_ * [CMake Build Configuration](#cmake-build-config) * [Debugging and Optimization](#debugging-and-optimization) * [Googletest Integration](#googletest-integration) - * [Javascript Decoder](#javascript-decoder) + * [Javascript Encoder/Decoder](#javascript-decoder) * [Android Studio Project Integration](#android-studio-project-integration) * [Usage](#usage) * [Command Line Applications](#command-line-applications) diff --git a/javascript/draco_decoder.js b/javascript/draco_decoder.js index de46465..3c3cfdd 100644 --- a/javascript/draco_decoder.js +++ b/javascript/draco_decoder.js @@ -2,22 +2,22 @@ var DracoDecoderModule = function(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; var Module = DracoDecoderModule; -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)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 read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return 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 print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}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;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}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){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=8;STATICTOP=STATIC_BASE+25424;__ATINIT__.push();allocate([252,22,0,0,127,23,0,0,36,23,0,0,88,23,0,0,8,0,0,0,0,0,0,0,36,23,0,0,156,23,0,0,8,0,0,0,0,0,0,0,36,23,0,0,197,23,0,0,64,0,0,0,0,0,0,0,252,22,0,0,225,23,0,0,36,23,0,0,193,25,0,0,48,0,0,0,0,0,0,0,252,22,0,0,227,25,0,0,36,23,0,0,8,26,0,0,48,0,0,0,0,0,0,0,36,23,0,0,190,36,0,0,88,0,0,0,0,0,0,0,36,23,0,0,56,26,0,0,144,0,0,0,0,0,0,0,36,23,0,0,145,26,0,0,160,0,0,0,0,0,0,0,36,23,0,0,229,26,0,0,176,0,0,0,0,0,0,0,36,23,0,0,25,27,0,0,192,0,0,0,0,0,0,0,252,22,0,0,68,27,0,0,36,23,0,0,27,28,0,0,216,0,0,0,0,0,0,0,36,23,0,0,179,28,0,0,144,0,0,0,0,0,0,0,36,23,0,0,60,29,0,0,216,0,0,0,0,0,0,0,36,23,0,0,214,29,0,0,216,0,0,0,0,0,0,0,36,23,0,0,104,30,0,0,216,0,0,0,0,0,0,0,36,23,0,0,14,31,0,0,216,0,0,0,0,0,0,0,36,23,0,0,169,31,0,0,216,0,0,0,0,0,0,0,36,23,0,0,63,32,0,0,72,1,0,0,0,0,0,0,36,23,0,0,228,32,0,0,144,0,0,0,0,0,0,0,36,23,0,0,122,33,0,0,72,1,0,0,0,0,0,0,36,23,0,0,33,34,0,0,72,1,0,0,0,0,0,0,36,23,0,0,192,34,0,0,72,1,0,0,0,0,0,0,36,23,0,0,115,35,0,0,72,1,0,0,0,0,0,0,36,23,0,0,27,36,0,0,72,1,0,0,0,0,0,0,36,23,0,0,37,68,0,0,112,0,0,0,0,0,0,0,36,23,0,0,123,41,0,0,200,1,0,0,0,0,0,0,36,23,0,0,236,41,0,0,160,0,0,0,0,0,0,0,36,23,0,0,49,45,0,0,232,1,0,0,0,0,0,0,36,23,0,0,225,45,0,0,200,1,0,0,0,0,0,0,36,23,0,0,42,47,0,0,232,1,0,0,0,0,0,0,36,23,0,0,123,48,0,0,232,1,0,0,0,0,0,0,36,23,0,0,37,49,0,0,232,1,0,0,0,0,0,0,36,23,0,0,227,49,0,0,232,1,0,0,0,0,0,0,36,23,0,0,150,50,0,0,232,1,0,0,0,0,0,0,36,23,0,0,68,51,0,0,88,2,0,0,0,0,0,0,36,23,0,0,1,52,0,0,200,1,0,0,0,0,0,0,36,23,0,0,175,52,0,0,88,2,0,0,0,0,0,0,36,23,0,0,110,53,0,0,88,2,0,0,0,0,0,0,36,23,0,0,37,54,0,0,88,2,0,0,0,0,0,0,36,23,0,0,240,54,0,0,88,2,0,0,0,0,0,0,36,23,0,0,176,55,0,0,88,2,0,0,0,0,0,0,36,23,0,0,107,56,0,0,200,2,0,0,0,0,0,0,36,23,0,0,183,56,0,0,216,2,0,0,0,0,0,0,252,22,0,0,255,56,0,0,36,23,0,0,230,57,0,0,240,2,0,0,0,0,0,0,36,23,0,0,74,58,0,0,160,0,0,0,0,0,0,0,36,23,0,0,169,58,0,0,16,3,0,0,0,0,0,0,36,23,0,0,76,59,0,0,240,2,0,0,0,0,0,0,36,23,0,0,224,59,0,0,16,3,0,0,0,0,0,0,36,23,0,0,133,60,0,0,16,3,0,0,0,0,0,0,36,23,0,0,34,61,0,0,16,3,0,0,0,0,0,0,36,23,0,0,211,61,0,0,16,3,0,0,0,0,0,0,36,23,0,0,121,62,0,0,16,3,0,0,0,0,0,0,36,23,0,0,26,63,0,0,128,3,0,0,0,0,0,0,36,23,0,0,202,63,0,0,240,2,0,0,0,0,0,0,36,23,0,0,107,64,0,0,128,3,0,0,0,0,0,0,36,23,0,0,29,65,0,0,128,3,0,0,0,0,0,0,36,23,0,0,199,65,0,0,128,3,0,0,0,0,0,0,36,23,0,0,133,66,0,0,128,3,0,0,0,0,0,0,36,23,0,0,56,67,0,0,128,3,0,0,0,0,0,0,36,23,0,0,230,67,0,0,216,2,0,0,0,0,0,0,36,23,0,0,80,68,0,0,112,0,0,0,0,0,0,0,36,23,0,0,232,68,0,0,192,4,0,0,0,0,0,0,36,23,0,0,254,68,0,0,0,4,0,0,0,0,0,0,36,23,0,0,236,71,0,0,120,4,0,0,0,0,0,0,252,22,0,0,31,69,0,0,36,23,0,0,103,69,0,0,72,4,0,0,0,0,0,0,252,22,0,0,49,70,0,0,252,22,0,0,75,70,0,0,36,23,0,0,134,70,0,0,72,4,0,0,0,0,0,0,36,23,0,0,47,71,0,0,72,4,0,0,0,0,0,0,252,22,0,0,56,72,0,0,36,23,0,0,102,72,0,0,120,4,0,0,0,0,0,0,36,23,0,0,188,72,0,0,120,4,0,0,0,0,0,0,36,23,0,0,41,73,0,0,0,4,0,0,0,0,0,0,36,23,0,0,15,73,0,0,72,4,0,0,0,0,0,0,252,22,0,0,73,73,0,0,36,23,0,0,124,74,0,0,192,4,0,0,0,0,0,0,36,23,0,0,158,74,0,0,192,4,0,0,0,0,0,0,36,23,0,0,186,75,0,0,248,4,0,0,0,0,0,0,252,22,0,0,207,76,0,0,252,22,0,0,92,91,0,0,36,23,0,0,188,91,0,0,24,5,0,0,0,0,0,0,36,23,0,0,105,91,0,0,40,5,0,0,0,0,0,0,252,22,0,0,138,91,0,0,36,23,0,0,151,91,0,0,8,5,0,0,0,0,0,0,36,23,0,0,173,92,0,0,0,5,0,0,0,0,0,0,36,23,0,0,222,92,0,0,24,5,0,0,0,0,0,0,36,23,0,0,186,92,0,0,80,5,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,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,18,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,19,0,0,0,12,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,7,0,0,0,20,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,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,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,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,1,0,0,0,0,0,0,0,40,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,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,2,0,0,0,0,0,0,0,24,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,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,3,0,0,0,0,0,0,0,8,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,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,24,0,0,0,4,0,0,0,0,0,0,0,248,0,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,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,232,0,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,28,0,0,0,29,0,0,0,10,0,0,0,11,0,0,0,30,0,0,0,6,0,0,0,0,0,0,0,200,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,31,0,0,0,32,0,0,0,10,0,0,0,11,0,0,0,33,0,0,0,7,0,0,0,0,0,0,0,152,1,0,0,14,0,0,0,27,0,0,0,29,0,0,0,8,0,0,0,30,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,8,0,0,0,0,0,0,0,136,1,0,0,14,0,0,0,28,0,0,0,31,0,0,0,8,0,0,0,32,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,9,0,0,0,0,0,0,0,120,1,0,0,29,0,0,0,30,0,0,0,33,0,0,0,8,0,0,0,34,0,0,0,9,0,0,0,21,0,0,0,22,0,0,0,10,0,0,0,11,0,0,0,34,0,0,0,10,0,0,0,0,0,0,0,104,1,0,0,31,0,0,0,32,0,0,0,35,0,0,0,8,0,0,0,36,0,0,0,37,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,88,1,0,0,33,0,0,0,34,0,0,0,38,0,0,0,8,0,0,0,39,0,0,0,40,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,56,1,0,0,35,0,0,0,36,0,0,0,41,0,0,0,8,0,0,0,42,0,0,0,43,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,168,1,0,0,12,0,0,0,37,0,0,0,10,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,19,0,0,0,12,0,0,0,7,0,0,0,12,0,0,0,13,0,0,0,44,0,0,0,44,0,0,0,0,0,0,0,224,3,0,0,38,0,0,0,39,0,0,0,45,0,0,0,0,0,0,0,184,2,0,0,38,0,0,0,40,0,0,0,46,0,0,0,0,0,0,0,184,1,0,0,41,0,0,0,42,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,14,0,0,0,0,0,0,0,56,2,0,0,41,0,0,0,43,0,0,0,53,0,0,0,48,0,0,0,54,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,15,0,0,0,0,0,0,0,40,2,0,0,41,0,0,0,44,0,0,0,55,0,0,0,48,0,0,0,56,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,16,0,0,0,0,0,0,0,24,2,0,0,45,0,0,0,46,0,0,0,57,0,0,0,48,0,0,0,58,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,48,0,0,0,17,0,0,0,0,0,0,0,8,2,0,0,47,0,0,0,48,0,0,0,59,0,0,0,48,0,0,0,60,0,0,0,61,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,51,0,0,0,18,0,0,0,0,0,0,0,248,1,0,0,49,0,0,0,50,0,0,0,62,0,0,0,48,0,0,0,63,0,0,0,64,0,0,0,52,0,0,0,53,0,0,0,51,0,0,0,52,0,0,0,54,0,0,0,19,0,0,0,0,0,0,0,216,1,0,0,51,0,0,0,52,0,0,0,65,0,0,0,48,0,0,0,66,0,0,0,67,0,0,0,55,0,0,0,56,0,0,0,51,0,0,0,52,0,0,0,57,0,0,0,20,0,0,0,0,0,0,0,168,2,0,0,41,0,0,0,53,0,0,0,68,0,0,0,48,0,0,0,69,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,21,0,0,0,0,0,0,0,152,2,0,0,41,0,0,0,54,0,0,0,70,0,0,0,48,0,0,0,71,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,47,0,0,0,22,0,0,0,0,0,0,0,136,2,0,0,55,0,0,0,56,0,0,0,72,0,0,0,48,0,0,0,73,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,52,0,0,0,58,0,0,0,23,0,0,0,0,0,0,0,120,2,0,0,57,0,0,0,58,0,0,0,74,0,0,0,48,0,0,0,75,0,0,0,76,0,0,0,59,0,0,0,60,0,0,0,51,0,0,0,52,0,0,0,61,0,0,0,24,0,0,0,0,0,0,0,104,2,0,0,59,0,0,0,60,0,0,0,77,0,0,0,48,0,0,0,78,0,0,0,79,0,0,0,62,0,0,0,63,0,0,0,51,0,0,0,52,0,0,0,64,0,0,0,25,0,0,0,0,0,0,0,72,2,0,0,61,0,0,0,62,0,0,0,80,0,0,0,48,0,0,0,81,0,0,0,82,0,0,0,65,0,0,0,66,0,0,0,51,0,0,0,52,0,0,0,67,0,0,0,26,0,0,0,0,0,0,0,224,2,0,0,63,0,0,0,64,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,27,0,0,0,0,0,0,0,96,3,0,0,63,0,0,0,65,0,0,0,89,0,0,0,84,0,0,0,90,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,28,0,0,0,0,0,0,0,80,3,0,0,63,0,0,0,66,0,0,0,91,0,0,0,84,0,0,0,92,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,29,0,0,0,0,0,0,0,64,3,0,0,67,0,0,0,68,0,0,0,93,0,0,0,84,0,0,0,94,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,71,0,0,0,30,0,0,0,0,0,0,0,48,3,0,0,69,0,0,0,70,0,0,0,95,0,0,0,84,0,0,0,96,0,0,0,97,0,0,0,72,0,0,0,73,0,0,0,87,0,0,0,88,0,0,0,74,0,0,0,31,0,0,0,0,0,0,0,32,3,0,0,71,0,0,0,72,0,0,0,98,0,0,0,84,0,0,0,99,0,0,0,100,0,0,0,75,0,0,0,76,0,0,0,87,0,0,0,88,0,0,0,77,0,0,0,32,0,0,0,0,0,0,0,0,3,0,0,73,0,0,0,74,0,0,0,101,0,0,0,84,0,0,0,102,0,0,0,103,0,0,0,78,0,0,0,79,0,0,0,87,0,0,0,88,0,0,0,80,0,0,0,33,0,0,0,0,0,0,0,208,3,0,0,63,0,0,0,75,0,0,0,104,0,0,0,84,0,0,0,105,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,34,0,0,0,0,0,0,0,192,3,0,0,63,0,0,0,76,0,0,0,106,0,0,0,84,0,0,0,107,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,70,0,0,0,35,0,0,0,0,0,0,0,176,3,0,0,77,0,0,0,78,0,0,0,108,0,0,0,84,0,0,0,109,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,87,0,0,0,88,0,0,0,81,0,0,0,36,0,0,0,0,0,0,0,160,3,0,0,79,0,0,0,80,0,0,0,110,0,0,0,84,0,0,0,111,0,0,0,112,0,0,0,82,0,0,0,83,0,0,0,87,0,0,0,88,0,0,0,84,0,0,0,37,0,0,0,0,0,0,0,144,3,0,0,81,0,0,0,82,0,0,0,113,0,0,0,84,0,0,0,114,0,0,0,115,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,87,0,0,0,38,0,0,0,0,0,0,0,112,3,0,0,83,0,0,0,84,0,0,0,116,0,0,0,84,0,0,0,117,0,0,0,118,0,0,0,88,0,0,0,89,0,0,0,87,0,0,0,88,0,0,0,90,0,0,0,39,0,0,0,0,0,0,0,240,3,0,0,85,0,0,0,86,0,0,0,14,0,0,0,10,0,0,0,3,0,0,0,15,0,0,0,19,0,0,0,12,0,0,0,7,0,0,0,16,0,0,0,9,0,0,0,7,0,0,0,91,0,0,0,119,0,0,0,92,0,0,0,0,0,0,0,0,4,0,0,87,0,0,0,88,0,0,0,120,0,0,0,121,0,0,0,1,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,93,0,0,0,94,0,0,0,1,0,0,0,0,0,0,0,16,4,0,0,89,0,0,0,90,0,0,0,120,0,0,0,127,0,0,0,95,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,128,0,0,0,129,0,0,0,96,0,0,0,97,0,0,0,130,0,0,0,0,0,0,0,32,4,0,0,91,0,0,0,92,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,131,0,0,0,132,0,0,0,133,0,0,0,134,0,0,0,0,0,0,0,56,4,0,0,93,0,0,0,94,0,0,0,102,0,0,0,135,0,0,0,0,0,0,0,48,4,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,192,0,0,0,0,88,4,0,0,98,0,0,0,99,0,0,0,103,0,0,0,136,0,0,0,0,0,0,0,80,4,0,0,100,0,0,0,101,0,0,0,102,0,0,0,0,0,0,0,104,4,0,0,103,0,0,0,104,0,0,0,104,0,0,0,137,0,0,0,0,0,0,0,128,4,0,0,105,0,0,0,106,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,144,4,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,142,0,0,0,143,0,0,0,144,0,0,0,145,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,160,4,0,0,87,0,0,0,109,0,0,0,120,0,0,0,121,0,0,0,113,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,93,0,0,0,94,0,0,0,146,0,0,0,0,0,0,0,176,4,0,0,110,0,0,0,111,0,0,0,114,0,0,0,147,0,0,0,0,0,0,0,192,4,0,0,87,0,0,0,112,0,0,0,148,0,0,0,121,0,0,0,1,0,0,0,149,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,0,0,0,0,200,4,0,0,87,0,0,0,113,0,0,0,148,0,0,0,121,0,0,0,115,0,0,0,150,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,0,0,0,0,216,4,0,0,87,0,0,0,114,0,0,0,148,0,0,0,121,0,0,0,116,0,0,0,151,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,232,4,0,0,115,0,0,0,116,0,0,0,1,0,0,0,3,0,0,0,152,0,0,0,117,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,248,4,0,0,118,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,152,0,0,0,117,0,0,0,4,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,153,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,18,0,0,0,68,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,116,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,18,0,0,0,76,95,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,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,83,91,0,0,0,0,0,0,8,5,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,21,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,48,5,0,0,120,0,0,0,124,0,0,0,122,0,0,0,123,0,0,0,21,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,64,5,0,0,125,0,0,0,126,0,0,0,154,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,102,97,108,115,101,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,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,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,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,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,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,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,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,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,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,0,78,53,100,114,97,99,111,53,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,78,53,100,114,97,99,111,52,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,37,100,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,122,104,97,102,97,110,103,47,100,114,97,99,111,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([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,122,104,97,102,97,110,103,47,101,109,115,100,107,45,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,55,46,57,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,122,104,97,102,97,110,103,47,101,109,115,100,107,45,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,55,46,57,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,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;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["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;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;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;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;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}Module["___uremdi3"]=___uremdi3;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;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,"___gxx_personality_v0":___gxx_personality_v0,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"_pthread_key_create":_pthread_key_create,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall54":___syscall54,"___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 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)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+27904;__ATINIT__.push();allocate([52,24,0,0,183,24,0,0,92,24,0,0,144,24,0,0,8,0,0,0,0,0,0,0,92,24,0,0,212,24,0,0,8,0,0,0,0,0,0,0,92,24,0,0,253,24,0,0,64,0,0,0,0,0,0,0,52,24,0,0,25,25,0,0,92,24,0,0,235,26,0,0,48,0,0,0,0,0,0,0,52,24,0,0,13,27,0,0,92,24,0,0,50,27,0,0,48,0,0,0,0,0,0,0,92,24,0,0,115,40,0,0,88,0,0,0,0,0,0,0,92,24,0,0,98,27,0,0,144,0,0,0,0,0,0,0,92,24,0,0,187,27,0,0,160,0,0,0,0,0,0,0,92,24,0,0,15,28,0,0,176,0,0,0,0,0,0,0,92,24,0,0,67,28,0,0,192,0,0,0,0,0,0,0,52,24,0,0,110,28,0,0,92,24,0,0,146,28,0,0,216,0,0,0,0,0,0,0,52,24,0,0,48,29,0,0,92,24,0,0,122,30,0,0,240,0,0,0,0,0,0,0,92,24,0,0,18,31,0,0,144,0,0,0,0,0,0,0,92,24,0,0,155,31,0,0,240,0,0,0,0,0,0,0,92,24,0,0,53,32,0,0,240,0,0,0,0,0,0,0,92,24,0,0,199,32,0,0,240,0,0,0,0,0,0,0,92,24,0,0,109,33,0,0,240,0,0,0,0,0,0,0,92,24,0,0,8,34,0,0,240,0,0,0,0,0,0,0,92,24,0,0,158,34,0,0,96,1,0,0,0,0,0,0,52,24,0,0,73,35,0,0,92,24,0,0,244,35,0,0,120,1,0,0,0,0,0,0,92,24,0,0,153,36,0,0,144,0,0,0,0,0,0,0,92,24,0,0,47,37,0,0,120,1,0,0,0,0,0,0,92,24,0,0,214,37,0,0,120,1,0,0,0,0,0,0,92,24,0,0,117,38,0,0,120,1,0,0,0,0,0,0,92,24,0,0,40,39,0,0,120,1,0,0,0,0,0,0,92,24,0,0,208,39,0,0,120,1,0,0,0,0,0,0,92,24,0,0,252,77,0,0,112,0,0,0,0,0,0,0,92,24,0,0,27,45,0,0,248,1,0,0,0,0,0,0,92,24,0,0,140,45,0,0,160,0,0,0,0,0,0,0,92,24,0,0,187,47,0,0,24,2,0,0,0,0,0,0,52,24,0,0,113,48,0,0,92,24,0,0,217,50,0,0,48,2,0,0,0,0,0,0,92,24,0,0,137,51,0,0,248,1,0,0,0,0,0,0,92,24,0,0,203,52,0,0,48,2,0,0,0,0,0,0,92,24,0,0,21,54,0,0,48,2,0,0,0,0,0,0,92,24,0,0,191,54,0,0,48,2,0,0,0,0,0,0,92,24,0,0,125,55,0,0,48,2,0,0,0,0,0,0,92,24,0,0,48,56,0,0,48,2,0,0,0,0,0,0,92,24,0,0,222,56,0,0,160,2,0,0,0,0,0,0,52,24,0,0,161,57,0,0,92,24,0,0,100,58,0,0,184,2,0,0,0,0,0,0,92,24,0,0,33,59,0,0,248,1,0,0,0,0,0,0,92,24,0,0,207,59,0,0,184,2,0,0,0,0,0,0,92,24,0,0,142,60,0,0,184,2,0,0,0,0,0,0,92,24,0,0,69,61,0,0,184,2,0,0,0,0,0,0,92,24,0,0,16,62,0,0,184,2,0,0,0,0,0,0,92,24,0,0,208,62,0,0,184,2,0,0,0,0,0,0,92,24,0,0,139,63,0,0,40,3,0,0,0,0,0,0,92,24,0,0,215,63,0,0,56,3,0,0,0,0,0,0,52,24,0,0,31,64,0,0,92,24,0,0,255,64,0,0,80,3,0,0,0,0,0,0,92,24,0,0,99,65,0,0,160,0,0,0,0,0,0,0,92,24,0,0,194,65,0,0,112,3,0,0,0,0,0,0,52,24,0,0,107,66,0,0,92,24,0,0,20,67,0,0,136,3,0,0,0,0,0,0,92,24,0,0,183,67,0,0,80,3,0,0,0,0,0,0,92,24,0,0,75,68,0,0,136,3,0,0,0,0,0,0,92,24,0,0,240,68,0,0,136,3,0,0,0,0,0,0,92,24,0,0,141,69,0,0,136,3,0,0,0,0,0,0,92,24,0,0,62,70,0,0,136,3,0,0,0,0,0,0,92,24,0,0,228,70,0,0,136,3,0,0,0,0,0,0,92,24,0,0,133,71,0,0,248,3,0,0,0,0,0,0,52,24,0,0,59,72,0,0,92,24,0,0,241,72,0,0,16,4,0,0,0,0,0,0,92,24,0,0,161,73,0,0,80,3,0,0,0,0,0,0,92,24,0,0,66,74,0,0,16,4,0,0,0,0,0,0,92,24,0,0,244,74,0,0,16,4,0,0,0,0,0,0,92,24,0,0,158,75,0,0,16,4,0,0,0,0,0,0,92,24,0,0,92,76,0,0,16,4,0,0,0,0,0,0,92,24,0,0,15,77,0,0,16,4,0,0,0,0,0,0,92,24,0,0,189,77,0,0,56,3,0,0,0,0,0,0,92,24,0,0,39,78,0,0,112,0,0,0,0,0,0,0,92,24,0,0,191,78,0,0,80,5,0,0,0,0,0,0,92,24,0,0,213,78,0,0,144,4,0,0,0,0,0,0,92,24,0,0,195,81,0,0,8,5,0,0,0,0,0,0,52,24,0,0,246,78,0,0,92,24,0,0,62,79,0,0,216,4,0,0,0,0,0,0,52,24,0,0,8,80,0,0,52,24,0,0,34,80,0,0,92,24,0,0,93,80,0,0,216,4,0,0,0,0,0,0,92,24,0,0,6,81,0,0,216,4,0,0,0,0,0,0,52,24,0,0,15,82,0,0,92,24,0,0,61,82,0,0,8,5,0,0,0,0,0,0,92,24,0,0,147,82,0,0,8,5,0,0,0,0,0,0,92,24,0,0,0,83,0,0,144,4,0,0,0,0,0,0,92,24,0,0,230,82,0,0,216,4,0,0,0,0,0,0,52,24,0,0,32,83,0,0,92,24,0,0,83,84,0,0,80,5,0,0,0,0,0,0,92,24,0,0,117,84,0,0,80,5,0,0,0,0,0,0,92,24,0,0,131,85,0,0,136,5,0,0,0,0,0,0,52,24,0,0,138,86,0,0,52,24,0,0,11,101,0,0,92,24,0,0,107,101,0,0,168,5,0,0,0,0,0,0,92,24,0,0,24,101,0,0,184,5,0,0,0,0,0,0,52,24,0,0,57,101,0,0,92,24,0,0,70,101,0,0,152,5,0,0,0,0,0,0,92,24,0,0,92,102,0,0,144,5,0,0,0,0,0,0,92,24,0,0,141,102,0,0,168,5,0,0,0,0,0,0,92,24,0,0,105,102,0,0,224,5,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,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,112,4,0,0,42,0,0,0,43,0,0,0,47,0,0,0,0,0,0,0,24,3,0,0,42,0,0,0,44,0,0,0,48,0,0,0,0,0,0,0,232,1,0,0,45,0,0,0,46,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,14,0,0,0,0,0,0,0,128,2,0,0,45,0,0,0,47,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,15,0,0,0,0,0,0,0,112,2,0,0,45,0,0,0,48,0,0,0,57,0,0,0,50,0,0,0,58,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,16,0,0,0,0,0,0,0,96,2,0,0,49,0,0,0,50,0,0,0,59,0,0,0,50,0,0,0,60,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,49,0,0,0,17,0,0,0,0,0,0,0,80,2,0,0,51,0,0,0,52,0,0,0,61,0,0,0,50,0,0,0,62,0,0,0,63,0,0,0,50,0,0,0,51,0,0,0,53,0,0,0,54,0,0,0,52,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,53,0,0,0,54,0,0,0,64,0,0,0,50,0,0,0,65,0,0,0,66,0,0,0,53,0,0,0,54,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,19,0,0,0,0,0,0,0,32,2,0,0,55,0,0,0,56,0,0,0,67,0,0,0,50,0,0,0,68,0,0,0,69,0,0,0,56,0,0,0,57,0,0,0,53,0,0,0,54,0,0,0,58,0,0,0,20,0,0,0,0,0,0,0,8,2,0,0,57,0,0,0,58,0,0,0,59,0,0,0,70,0,0,0,4,0,0,0,0,0,0,0,8,3,0,0,45,0,0,0,59,0,0,0,71,0,0,0,50,0,0,0,72,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,21,0,0,0,0,0,0,0,248,2,0,0,45,0,0,0,60,0,0,0,73,0,0,0,50,0,0,0,74,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,48,0,0,0,22,0,0,0,0,0,0,0,232,2,0,0,61,0,0,0,62,0,0,0,75,0,0,0,50,0,0,0,76,0,0,0,52,0,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,60,0,0,0,23,0,0,0,0,0,0,0,216,2,0,0,63,0,0,0,64,0,0,0,77,0,0,0,50,0,0,0,78,0,0,0,79,0,0,0,61,0,0,0,62,0,0,0,53,0,0,0,54,0,0,0,63,0,0,0,24,0,0,0,0,0,0,0,200,2,0,0,65,0,0,0,66,0,0,0,80,0,0,0,50,0,0,0,81,0,0,0,82,0,0,0,64,0,0,0,65,0,0,0,53,0,0,0,54,0,0,0,66,0,0,0,25,0,0,0,0,0,0,0,168,2,0,0,67,0,0,0,68,0,0,0,83,0,0,0,50,0,0,0,84,0,0,0,85,0,0,0,67,0,0,0,68,0,0,0,53,0,0,0,54,0,0,0,69,0,0,0,26,0,0,0,0,0,0,0,144,2,0,0,69,0,0,0,70,0,0,0,70,0,0,0,86,0,0,0,5,0,0,0,0,0,0,0,64,3,0,0,71,0,0,0,72,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,27,0,0,0,0,0,0,0,216,3,0,0,71,0,0,0,73,0,0,0,93,0,0,0,88,0,0,0,94,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,28,0,0,0,0,0,0,0,200,3,0,0,71,0,0,0,74,0,0,0,95,0,0,0,88,0,0,0,96,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,29,0,0,0,0,0,0,0,184,3,0,0,75,0,0,0,76,0,0,0,97,0,0,0,88,0,0,0,98,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,74,0,0,0,30,0,0,0,0,0,0,0,168,3,0,0,77,0,0,0,78,0,0,0,99,0,0,0,88,0,0,0,100,0,0,0,101,0,0,0,75,0,0,0,76,0,0,0,91,0,0,0,92,0,0,0,77,0,0,0,31,0,0,0,0,0,0,0,152,3,0,0,79,0,0,0,80,0,0,0,102,0,0,0,88,0,0,0,103,0,0,0,104,0,0,0,78,0,0,0,79,0,0,0,91,0,0,0,92,0,0,0,80,0,0,0,32,0,0,0,0,0,0,0,120,3,0,0,81,0,0,0,82,0,0,0,105,0,0,0,88,0,0,0,106,0,0,0,107,0,0,0,81,0,0,0,82,0,0,0,91,0,0,0,92,0,0,0,83,0,0,0,33,0,0,0,0,0,0,0,96,3,0,0,83,0,0,0,84,0,0,0,84,0,0,0,108,0,0,0,6,0,0,0,0,0,0,0,96,4,0,0,71,0,0,0,85,0,0,0,109,0,0,0,88,0,0,0,110,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,34,0,0,0,0,0,0,0,80,4,0,0,71,0,0,0,86,0,0,0,111,0,0,0,88,0,0,0,112,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,73,0,0,0,35,0,0,0,0,0,0,0,64,4,0,0,87,0,0,0,88,0,0,0,113,0,0,0,88,0,0,0,114,0,0,0,90,0,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,85,0,0,0,36,0,0,0,0,0,0,0,48,4,0,0,89,0,0,0,90,0,0,0,115,0,0,0,88,0,0,0,116,0,0,0,117,0,0,0,86,0,0,0,87,0,0,0,91,0,0,0,92,0,0,0,88,0,0,0,37,0,0,0,0,0,0,0,32,4,0,0,91,0,0,0,92,0,0,0,118,0,0,0,88,0,0,0,119,0,0,0,120,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,91,0,0,0,38,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,94,0,0,0,121,0,0,0,88,0,0,0,122,0,0,0,123,0,0,0,92,0,0,0,93,0,0,0,91,0,0,0,92,0,0,0,94,0,0,0,39,0,0,0,0,0,0,0,232,3,0,0,95,0,0,0,96,0,0,0,95,0,0,0,124,0,0,0,7,0,0,0,0,0,0,0,128,4,0,0,97,0,0,0,98,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,96,0,0,0,125,0,0,0,97,0,0,0,0,0,0,0,144,4,0,0,99,0,0,0,100,0,0,0,126,0,0,0,127,0,0,0,1,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,98,0,0,0,99,0,0,0,1,0,0,0,0,0,0,0,160,4,0,0,101,0,0,0,102,0,0,0,126,0,0,0,133,0,0,0,100,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,134,0,0,0,135,0,0,0,101,0,0,0,102,0,0,0,136,0,0,0,0,0,0,0,176,4,0,0,103,0,0,0,104,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,137,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,0,0,0,0,200,4,0,0,105,0,0,0,106,0,0,0,107,0,0,0,141,0,0,0,0,0,0,0,192,4,0,0,107,0,0,0,108,0,0,0,109,0,0,0,0,0,0,192,0,0,0,0,232,4,0,0,110,0,0,0,111,0,0,0,108,0,0,0,142,0,0,0,0,0,0,0,224,4,0,0,112,0,0,0,113,0,0,0,114,0,0,0,0,0,0,0,248,4,0,0,115,0,0,0,116,0,0,0,109,0,0,0,143,0,0,0,0,0,0,0,16,5,0,0,117,0,0,0,118,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,144,0,0,0,145,0,0,0,146,0,0,0,147,0,0,0,0,0,0,0,32,5,0,0,119,0,0,0,120,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,148,0,0,0,149,0,0,0,150,0,0,0,151,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,48,5,0,0,99,0,0,0,121,0,0,0,126,0,0,0,127,0,0,0,118,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,98,0,0,0,99,0,0,0,152,0,0,0,0,0,0,0,64,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,153,0,0,0,0,0,0,0,80,5,0,0,99,0,0,0,124,0,0,0,154,0,0,0,127,0,0,0,1,0,0,0,155,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,88,5,0,0,99,0,0,0,125,0,0,0,154,0,0,0,127,0,0,0,120,0,0,0,156,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,104,5,0,0,99,0,0,0,126,0,0,0,154,0,0,0,127,0,0,0,121,0,0,0,157,0,0,0,129,0,0,0,130,0,0,0,131,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,120,5,0,0,127,0,0,0,128,0,0,0,8,0,0,0,3,0,0,0,158,0,0,0,129,0,0,0,9,0,0,0,0,0,0,192,0,0,0,0,136,5,0,0,130,0,0,0,131,0,0,0,10,0,0,0,4,0,0,0,158,0,0,0,129,0,0,0,11,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,56,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,159,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,244,104,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,200,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,21,0,0,5,0,0,0,0,0,0,0,0,0,0,0,159,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,252,104,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,2,101,0,0,0,0,0,0,152,5,0,0,132,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,192,5,0,0,132,0,0,0,136,0,0,0,134,0,0,0,135,0,0,0,19,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,208,5,0,0,137,0,0,0,138,0,0,0,160,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,50,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,50,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,50,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,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,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([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,50,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,50,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,50,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,50,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,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,50,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,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,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,50,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,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,50,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,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,50,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,0,78,53,100,114,97,99,111,53,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,78,53,100,114,97,99,111,52,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,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,50,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([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,37,100,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,50,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,50,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,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,50,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,50,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,50,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,50,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,50,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,50,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,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;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["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;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;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___cxa_allocate_exception(size){return _malloc(size)}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;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;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}Module["___uremdi3"]=___uremdi3;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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]=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,"___gxx_personality_v0":___gxx_personality_v0,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"_pthread_key_create":_pthread_key_create,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall54":___syscall54,"___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=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.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,I=0,J=0,K=0,L=0.0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=global.Math.min;var ba=global.Math.max;var ca=global.Math.clz32;var da=global.Math.fround;var ea=env.abort;var fa=env.assert;var ga=env.enlargeMemory;var ha=env.getTotalMemory;var ia=env.abortOnCannotGrowMemory;var ja=env.invoke_iiii;var ka=env.invoke_viiiii;var la=env.invoke_vi;var ma=env.invoke_vii;var na=env.invoke_iiiiiii;var oa=env.invoke_ii;var pa=env.invoke_viii;var qa=env.invoke_v;var ra=env.invoke_viiiiii;var sa=env.invoke_iii;var ta=env.invoke_viiii;var ua=env._pthread_getspecific;var va=env._pthread_setspecific;var wa=env.___cxa_throw;var xa=env.___gxx_personality_v0;var ya=env.___syscall6;var za=env.___setErrNo;var Aa=env._abort;var Ba=env.___cxa_begin_catch;var Ca=env._pthread_key_create;var Da=env.___syscall146;var Ea=env._pthread_once;var Fa=env._emscripten_memcpy_big;var Ga=env.___syscall54;var Ha=env.___syscall140;var Ia=env.___resumeException;var Ja=env.___cxa_find_matching_catch;var Ka=env.___assert_fail;var La=env.___cxa_pure_virtual;var Ma=env.___cxa_allocate_exception;var Na=env.__ZSt18uncaught_exceptionv;var Oa=da(0);const Pa=da(0);function Qa(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} +"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.___gxx_personality_v0;var ua=env.___syscall6;var va=env.___setErrNo;var wa=env._abort;var xa=env.___cxa_begin_catch;var ya=env._pthread_key_create;var za=env.___syscall146;var Aa=env._pthread_once;var Ba=env._emscripten_memcpy_big;var Ca=env.___syscall54;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} // EMSCRIPTEN_START_FUNCS -function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;c=t+4|0;s=t;if(!(xe(a,b)|0)){s=0;u=t;return s|0}p=k[a+88>>2]|0;p=(Wa[k[(k[p>>2]|0)+32>>2]&255](p)|0)+36|0;if(((l[p>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;d=b+16|0;f=d;e=k[f>>2]|0;f=Fp(e|0,k[f+4>>2]|0,4,0)|0;g=M;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0>>0)c=0;else{h=(k[b>>2]|0)+e|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;k[c>>2]=h;c=d;k[c>>2]=f;k[c+4>>2]=g;c=h;h=7}}else if(sk(c,b)|0){c=k[c>>2]|0;h=7}else c=0;if((h|0)==7){d=a+96|0;c=(k[d>>2]|0)+c|0;k[d>>2]=c;d=a+100|0;k[s>>2]=0;e=a+104|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(c>>>0<=f>>>0){if(c>>>0>>0?(j=g+(c<<2)|0,(h|0)!=(j|0)):0)k[e>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else Yh(d,c-f|0,s);p=b+8|0;o=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((o|0)>(e|0)|((o|0)==(e|0)?(k[p>>2]|0)>>>0>d>>>0:0)?(p=i[(k[b>>2]|0)+d>>0]|0,n=Fp(d|0,e|0,1,0)|0,o=c,k[o>>2]=n,k[o+4>>2]=M,p<<24>>24==0):0){k[a+120>>2]=2;k[a+124>>2]=7;p=a+128|0;o=a+132|0;d=k[o>>2]|0;f=k[p>>2]|0;c=d-f|0;e=(c|0)/12|0;g=d;if(e>>>0>=6){if((c|0)!=72?(m=f+72|0,(g|0)!=(m|0)):0){d=g;while(1){c=d+-12|0;k[o>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[o>>2]|0}if((c|0)==(m|0))break;else d=c}d=c}}else{Fg(p,6-e|0);d=k[o>>2]|0}n=a+140|0;c=k[p>>2]|0;j=(d-c|0)/12|0;e=a+144|0;h=k[e>>2]|0;g=k[n>>2]|0;f=h-g>>2;if(j>>>0<=f>>>0){if(j>>>0>>0?(q=g+(j<<2)|0,(h|0)!=(q|0)):0)k[e>>2]=h+(~((h+-4-q|0)>>>2)<<2)}else{oj(n,j-f|0);d=k[o>>2]|0;c=k[p>>2]|0}if((d|0)==(c|0))c=1;else{m=0;do{sk(s,b)|0;c=k[s>>2]|0;if(c|0){d=k[p>>2]|0;e=d+(m*12|0)|0;f=d+(m*12|0)+4|0;j=k[f>>2]|0;h=k[e>>2]|0;g=j-h>>2;if(c>>>0<=g>>>0){if(c>>>0>>0?(r=h+(c<<2)|0,(j|0)!=(r|0)):0)k[f>>2]=j+(~((j+-4-r|0)>>>2)<<2)}else{oj(e,c-g|0);d=k[p>>2]|0;c=k[s>>2]|0}Pj(c,1,b,k[d+(m*12|0)>>2]|0)|0;k[(k[n>>2]|0)+(m<<2)>>2]=k[s>>2]}m=m+1|0}while(m>>>0<(((k[o>>2]|0)-(k[p>>2]|0)|0)/12|0)>>>0);c=1}}else c=0}s=c;u=t;return s|0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=a+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=0;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}d=b+d|0;a=d+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;e=d+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=d+12|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=a;k[g+4>>2]=0;g=c+16|0;k[g>>2]=e;k[g+4>>2]=0;g=c+24|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=M;g=k[a>>2]|0;f=k[g>>2]|0;if(!((h|0)<0|((h|0)==0?b>>>0<((k[g+4>>2]|0)-f|0)>>>0:0))){h=0;return h|0}d=da(i[f+b>>0]|0);e=da(d/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;h=1;return h|0}case 2:{j=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;j=M;h=k[a>>2]|0;f=k[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((k[h+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<24>>24)}else{d=da(d/da(127.0));o[c>>2]=d;d=da(da(b<<24>>24)/da(127.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,3,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=i[j+1>>0]|0;b=i[j+2>>0]|0;d=da(i[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);d=da(f<<24>>24)}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));d=da(da(f<<24>>24)/da(127.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;f=j>>>16&255;g=j>>>24&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);o[c+4>>2]=e;e=da(f<<24>>24);o[c+8>>2]=e;e=da(g<<24>>24);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=e;e=da(da(f<<24>>24)/da(127.0));o[c+8>>2]=e;e=da(da(g<<24>>24)/da(127.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;d=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;j=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);e=da(j*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:e;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}b=d+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b>>>0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b>>>0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b>>>0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(0,g|0,32)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,32)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=f+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=f+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;if((b|0)<0)return;m=a+12|0;l=k[m>>2]|0;d=k[a+8>>2]|0;c=l;if(l-d>>2>>>0<=b>>>0)return;e=d+(b<<2)|0;l=k[(k[e>>2]|0)+56>>2]|0;d=e+4|0;if((d|0)!=(c|0)){do{h=k[d>>2]|0;k[d>>2]=0;i=k[e>>2]|0;k[e>>2]=h;if(i|0){h=i+88|0;f=k[h>>2]|0;k[h>>2]=0;if(f|0){g=k[f+8>>2]|0;if(g|0){h=f+12|0;if((k[h>>2]|0)!=(g|0))k[h>>2]=g;_r(g)}_r(f)}f=k[i+68>>2]|0;if(f|0){g=i+72|0;h=k[g>>2]|0;if((h|0)!=(f|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);_r(f)}h=i+64|0;f=k[h>>2]|0;k[h>>2]=0;if(f|0){g=k[f>>2]|0;if(g|0){h=f+4|0;if((k[h>>2]|0)!=(g|0))k[h>>2]=g;_r(g)}_r(f)}_r(i)}d=d+4|0;e=e+4|0}while((d|0)!=(c|0));c=k[m>>2]|0;if((c|0)!=(e|0))j=24}else j=24;if((j|0)==24)do{j=c+-4|0;k[m>>2]=j;g=k[j>>2]|0;k[j>>2]=0;if(g|0){j=g+88|0;c=k[j>>2]|0;k[j>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){f=c+12|0;if((k[f>>2]|0)!=(d|0))k[f>>2]=d;_r(d)}_r(c)}c=k[g+68>>2]|0;if(c|0){d=g+72|0;f=k[d>>2]|0;if((f|0)!=(c|0))k[d>>2]=f+(~((f+-4-c|0)>>>2)<<2);_r(c)}j=g+64|0;c=k[j>>2]|0;k[j>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){f=c+4|0;if((k[f>>2]|0)!=(d|0))k[f>>2]=d;_r(d)}_r(c)}_r(g)}c=k[m>>2]|0}while((c|0)!=(e|0));a:do if((l|0)<4){c=k[a+20+(l*12|0)>>2]|0;h=a+20+(l*12|0)+4|0;d=k[h>>2]|0;e=d;b:do if((c|0)!=(d|0))while(1){if((k[c>>2]|0)==(b|0))break b;c=c+4|0;if((c|0)==(d|0))break a}while(0);if((c|0)!=(d|0)){f=c+4|0;e=e-f|0;g=e>>2;if(g){mn(c|0,f|0,e|0)|0;d=k[h>>2]|0}c=c+(g<<2)|0;if((d|0)!=(c|0))k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=k[a+24>>2]|0;d=k[a+20>>2]|0;g=d;if((c|0)!=(d|0)){d=c-d>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0)}c=k[a+36>>2]|0;d=k[a+32>>2]|0;g=d;if((c|0)!=(d|0)){d=c-d>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0)}c=k[a+48>>2]|0;d=k[a+44>>2]|0;g=d;if((c|0)!=(d|0)){d=c-d>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0)}d=k[a+60>>2]|0;c=k[a+56>>2]|0;g=c;if((d|0)==(c|0))return;d=d-c>>2;c=0;do{e=g+(c<<2)|0;f=k[e>>2]|0;if((f|0)>(b|0))k[e>>2]=f+-1;c=c+1|0}while(c>>>0>>0);return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;d=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;j=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);e=da(j*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:e;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}b=d+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b|0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b|0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;d=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-d|0)>>>0:0)){h=0;return h|0}h=d+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;j=da(b|0);o[c+4>>2]=j;h=1;return h|0}else{j=da(e*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=M;g=k[a>>2]|0;f=k[g>>2]|0;if(!((h|0)<0|((h|0)==0?b>>>0<((k[g+4>>2]|0)-f|0)>>>0:0))){h=0;return h|0}d=da(l[f+b>>0]|0);e=da(d/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;h=1;return h|0}case 2:{j=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;j=M;h=k[a>>2]|0;f=k[h>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((k[h+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&255)}else{d=da(d/da(255.0));o[c>>2]=d;d=da(da(b&255)/da(255.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,3,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=i[j+1>>0]|0;b=i[j+2>>0]|0;d=da(l[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);d=da(f&255)}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));d=da(da(f&255)/da(255.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;f=j>>>16&255;g=j>>>24&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);o[c+4>>2]=e;e=da(f&255);o[c+8>>2]=e;e=da(g&255);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));o[c+4>>2]=e;e=da(da(f&255)/da(255.0));o[c+8>>2]=e;e=da(da(g&255)/da(255.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);d=da(j/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;g=b;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=b+4|0;h=(i[a+32>>0]|0)==0;b=(So(g|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=da((g&65535)<<16>>16);if(h){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;e=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-e|0)>>>0:0))){g=0;return g|0}h=da(i[e+b>>0]|0);d=da(h/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?h:d;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;e=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<24>>24)}else{d=da(d/da(127.0));o[c>>2]=d;d=da(da(b<<24>>24)/da(127.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);j=1;return j|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;b=i[j+1>>0]|0;e=i[j+2>>0]|0;d=da(i[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b<<24>>24);o[c+4>>2]=h;h=da(e<<24>>24);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;h=da(da(e<<24>>24)/da(127.0));o[c+8>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=j>>>16&255;d=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b<<24>>24);o[c+4>>2]=h;h=da(e<<24>>24);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;h=da(da(e<<24>>24)/da(127.0));o[c+8>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}q=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;m=c+14|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;if((j[m>>1]|0)!=(j[g+14>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+10|0;i=c+12|0;l=c+14|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=j[c+8>>1]|0;d=c;while(1){if(m<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;if((j[l>>1]|0)!=(j[g+14>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=~~(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));k[c>>2]=f;g=~~(k[s>>2]=g,da(o[s>>2]));k[c+4>>2]=g;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];j=da(o[s>>2]);g=g+4|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);k[c>>2]=~~j;k[c+4>>2]=~~h;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);g=g+4|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];j=da(o[s>>2]);k[c>>2]=~~h;k[c+4>>2]=~~j;g=1;return g|0}default:{g=0;return g|0}}return 0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}p=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;l=c+20|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;if((k[l>>2]|0)!=(k[g+20>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+12|0;i=c+16|0;j=c+20|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=k[c+8>>2]|0;d=c;while(1){if((l|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;if((k[j>>2]|0)!=(k[g+20>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}q=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;m=c+11|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;if((i[m>>0]|0)!=(i[g+11>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+9|0;j=c+10|0;l=c+11|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=i[c+8>>0]|0;d=c;while(1){if(m<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;if((i[l>>0]|0)!=(i[g+11>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)&65535);d=da(j/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;o[c+4>>2]=da(0.0);h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;h=1;return h|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;g=b;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=b+4|0;h=(i[a+32>>0]|0)==0;b=(So(g|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=da(g&65535);if(h){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&65535)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&65535)<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;a=(l[a>>0]|l[a+1>>0]<<8)<<16>>16;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<16>>16;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<16>>16;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=zo(No(g|0,f|0,48)|0,M|0,48)|0;a=c;k[a>>2]=e;k[a+4>>2]=M;a=zo(0,g|0,48)|0;e=c+8|0;k[e>>2]=a;k[e+4>>2]=M;f=zo(No(g|0,f|0,16)|0,M|0,48)|0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;g=(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;e=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-e|0)>>>0:0))){g=0;return g|0}h=da(l[e+b>>0]|0);d=da(h/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?h:d;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;e=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&255)}else{d=da(d/da(255.0));o[c>>2]=d;d=da(da(b&255)/da(255.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);j=1;return j|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;b=i[j+1>>0]|0;e=i[j+2>>0]|0;d=da(l[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b&255);o[c+4>>2]=h;h=da(e&255);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;h=da(da(e&255)/da(255.0));o[c+8>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;e=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=j>>>16&255;d=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;h=da(b&255);o[c+4>>2]=h;h=da(e&255);o[c+8>>2]=h;j=1;return j|0}else{h=da(d/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;h=da(da(e&255)/da(255.0));o[c+8>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=a+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=a+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>16;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=(l[a>>0]|l[a+1>>0]<<8)&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=c;k[a>>2]=g&65535;k[a+4>>2]=0;a=So(g|0,f|0,16)|0;e=c+8|0;k[e>>2]=a&65535;k[e+4>>2]=0;e=c+16|0;k[e>>2]=f&65535;k[e+4>>2]=0;f=So(g|0,f|0,48)|0;g=c+24|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+48|0;o=w+32|0;p=w+28|0;q=w+24|0;r=w+20|0;s=w+16|0;t=w;v=b+24|0;j=i[v>>0]|0;m=j<<24>>24;n=k[a+68>>2]|0;a=$(n,m)|0;k[t>>2]=k[1211];k[t+4>>2]=k[1212];k[t+8>>2]=k[1213];k[t+12>>2]=k[1214];d=c+4|0;g=k[d>>2]|0;f=k[c>>2]|0;e=g-f>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(h=f+(a<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else oj(c,a-e|0);if((n|0)<=0){v=1;u=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=jg(b,o,t)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=ig(b,o,t)|0;break}case 3:{k[r>>2]=a;k[o>>2]=k[r>>2];a=hg(b,o,t)|0;break}case 4:{k[s>>2]=a;k[o>>2]=k[s>>2];a=gg(b,o,t)|0;break}default:break a}if(!a){a=0;d=29;break}e=k[c>>2]|0;a=0;d=f;while(1){k[e+(d<<2)>>2]=k[t+(a<<2)>>2];a=a+1|0;if((a|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){u=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=jg(b,o,t)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=ig(b,o,t)|0;break}case 3:{k[r>>2]=a;k[o>>2]=k[r>>2];a=hg(b,o,t)|0;break}case 4:{k[s>>2]=a;k[o>>2]=k[s>>2];a=gg(b,o,t)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){u=w;return a|0}}while(0);v=0;u=w;return v|0}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=((f&65535)>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;a=i[a>>0]|0;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<24>>24;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<24>>24;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=(f>>>8&255)<<24>>24;e=c+8|0;k[e>>2]=g;k[e+4>>2]=((g|0)<0)<<31>>31;e=(f>>>16&255)<<24>>24;g=c+16|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>24&255)<<24>>24;g=c+24|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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;e=E;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a:do if(we(E,c)|0?af(E,c)|0:0){e=(a|0)>0;b:do if(e){if(!(k[E+12>>2]|0)){h=0;break a}Sh(c,0,0)|0;if(e){t=E+44|0;v=E+48|0;w=E+40|0;x=E+16|0;y=E+28|0;z=(b|0)>0;D=c+36|0;A=c+32|0;B=c+24|0;C=c+28|0;s=0;e=0;f=k[v>>2]|0;while(1){c:do if(f>>>0<16384){g=k[t>>2]|0;do{if((g|0)<=0)break c;r=k[w>>2]|0;g=g+-1|0;k[t>>2]=g;f=l[r+g>>0]|f<<8;k[v>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;r=k[(k[x>>2]|0)+(p<<2)>>2]|0;q=k[y>>2]|0;f=($(k[q+(r<<3)>>2]|0,f>>>12)|0)+p-(k[q+(r<<3)+4>>2]|0)|0;k[v>>2]=f;if(z){q=(r|0)>0;if((r|0)<=-1){e=22;break}if((r|0)<33)p=0;else{e=21;break}while(1){if(!(i[D>>0]|0)){h=0;break a}if(q){n=k[B>>2]|0;o=k[C>>2]|0;g=0;m=0;j=k[A>>2]|0;do{h=n+(j>>>3)|0;if(h>>>0>>0){h=(l[h>>0]|0)>>>(j&7)&1;j=j+1|0;k[A>>2]=j}else h=0;g=h<>2]=g;p=p+1|0;if((p|0)>=(b|0)){e=h;break}else e=h}}s=s+b|0;if((s|0)>=(a|0))break b}if((e|0)==21){if(!(i[D>>0]|0)){h=0;break a}Ka(19261,19158,156,19253)}else if((e|0)==22){if(!(i[D>>0]|0)){h=0;break a}Ka(19143,19158,155,19253)}}}else Sh(c,0,0)|0;while(0);bn(c);h=1}else h=0;while(0);e=k[E+28>>2]|0;if(e|0){f=E+32|0;g=k[f>>2]|0;if((g|0)!=(e|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);_r(e)}e=k[E+16>>2]|0;if(e|0){f=E+20|0;g=k[f>>2]|0;if((g|0)!=(e|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);_r(e)}g=k[E>>2]|0;if(!g){u=F;return h|0}f=E+4|0;e=k[f>>2]|0;if((e|0)!=(g|0))k[f>>2]=e+(~((e+-4-g|0)>>>2)<<2);_r(g);u=F;return h|0}function pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=e>>>0>1073741823?-1:e<<2;v=Xr(x)|0;_j(v|0,0,x|0)|0;w=Xr(x)|0;_j(w|0,0,x|0)|0;x=a+8|0;dj(x,v,b,c);s=k[a+32>>2]|0;t=a+40|0;h=k[t>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;r=g-f|0;u=r>>2;if((r|0)<=4){Yr(w);Yr(v);return 1}n=k[a+36>>2]|0;o=(e|0)>0;p=s+64|0;q=s+28|0;r=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}m=k[f+(d<<2)>>2]|0;if(o)_j(v|0,0,r|0)|0;if((m|0)>-1){l=k[s>>2]|0;i=0;j=m;do{if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>=0):0)?(B=k[q>>2]|0,h=k[n>>2]|0,z=k[h+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[h+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[h+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(d|0)&(A|0)<(d|0)&(B|0)<(d|0)):0){a=$(z,e)|0;g=$(A,e)|0;h=$(B,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(o){f=0;do{h=v+(f<<2)|0;k[h>>2]=(k[h>>2]|0)+(k[w+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}i=i+1|0}f=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if(!(k[l+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f}while((j|0)>-1);f=$(d,e)|0;if(!i)C=29;else{if(o){a=0;do{m=v+(a<<2)|0;k[m>>2]=(k[m>>2]|0)/(i|0)|0;a=a+1|0}while((a|0)!=(e|0))}dj(x,v,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;C=29}if((C|0)==29){C=0;dj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(u|0))break;a=k[t>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(w);Yr(v);return 1}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}s=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=s;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;r=b+-1|0;s=(r&b|0)==0;if(s)c=c&r;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;else{q=c;e=f;c=f}a:while(1){p=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(s)o=d&r;else o=(d>>>0)%(b>>>0)|0;if((o|0)==(q|0))break;d=(k[a>>2]|0)+(o<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{m=c+8|0;l=i[m+11>>0]|0;h=l<<24>>24<0;l=l&255;n=h?k[c+12>>2]|0:l;j=(n|0)==0;if(h){d=c;while(1){g=f+8|0;l=i[g+11>>0]|0;h=l<<24>>24<0;if((n|0)!=((h?k[f+12>>2]|0:l&255)|0))break c;if(!j?lm(k[m>>2]|0,h?k[g>>2]|0:g,n)|0:0)break c;d=k[f>>2]|0;if(!d){d=f;break c}else{l=f;f=d;d=l}}}if(j){d=c;while(1){n=i[f+8+11>>0]|0;if((n<<24>>24<0?k[f+12>>2]|0:n&255)|0)break c;d=k[f>>2]|0;if(!d){d=f;break c}else{n=f;f=d;d=n}}}d=c;while(1){g=f+8|0;j=i[g+11>>0]|0;h=j<<24>>24<0;if((n|0)!=((h?k[f+12>>2]|0:j&255)|0))break c;g=h?k[g>>2]|0:g;if((k[m>>2]&255)<<24>>24==(i[g>>0]|0)){j=l;h=m}else break c;while(1){j=j+-1|0;h=h+1|0;if(!j)break;g=g+1|0;if((i[h>>0]|0)!=(i[g>>0]|0))break c}d=k[f>>2]|0;if(!d){d=f;break}else{j=f;f=d;d=j}}}while(0);k[p>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=41;break a}}d=k[c>>2]|0;if(!d){c=41;break a}else{e=c;p=c}}k[d>>2]=p;d=k[c>>2]|0;if(!d){c=41;break}else{q=o;e=c}}if((c|0)==41)return}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=e>>>0>1073741823?-1:e<<2;v=Xr(x)|0;_j(v|0,0,x|0)|0;w=Xr(x)|0;_j(w|0,0,x|0)|0;x=a+8|0;gj(x,v,b,c);s=k[a+32>>2]|0;t=a+40|0;h=k[t>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;r=g-f|0;u=r>>2;if((r|0)<=4){Yr(w);Yr(v);return 1}n=k[a+36>>2]|0;o=(e|0)>0;p=s+64|0;q=s+28|0;r=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}m=k[f+(d<<2)>>2]|0;if(o)_j(v|0,0,r|0)|0;if((m|0)>-1){l=k[s>>2]|0;i=0;j=m;do{if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>=0):0)?(B=k[q>>2]|0,h=k[n>>2]|0,z=k[h+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[h+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[h+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(d|0)&(A|0)<(d|0)&(B|0)<(d|0)):0){a=$(z,e)|0;g=$(A,e)|0;h=$(B,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(o){f=0;do{h=v+(f<<2)|0;k[h>>2]=(k[h>>2]|0)+(k[w+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}i=i+1|0}f=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if(!(k[l+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f}while((j|0)>-1);f=$(d,e)|0;if(!i)C=29;else{if(o){a=0;do{m=v+(a<<2)|0;k[m>>2]=(k[m>>2]|0)/(i|0)|0;a=a+1|0}while((a|0)!=(e|0))}gj(x,v,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;C=29}if((C|0)==29){C=0;gj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(u|0))break;a=k[t>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(w);Yr(v);return 1}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;g=r+28|0;p=r+16|0;q=r;i=a+16|0;d=k[i>>2]|0;if(d|0){f=k[b>>2]|0;c=i;e=d;a:while(1){d=e;while(1){if((k[d+16>>2]|0)>=(f|0))break;d=k[d+4>>2]|0;if(!d)break a}e=k[d>>2]|0;if(!e){c=d;break}else c=d}if((c|0)!=(i|0)?(f|0)>=(k[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}Cq(p);k[q>>2]=k[b>>2];j=q+4|0;k[q+8>>2]=0;l=q+12|0;k[l>>2]=0;n=q+8|0;k[j>>2]=n;c=k[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){e=n;d=c;while(1){d=d+16|0;k[g>>2]=e;k[m>>2]=k[g>>2];_h(j,m,d,d)|0;d=k[c+4>>2]|0;if(!d)while(1){d=k[c+8>>2]|0;if((k[d>>2]|0)==(c|0)){c=d;break}else c=d}else{c=d;while(1){d=k[c>>2]|0;if(!d)break;else c=d}}if((c|0)==(o|0))break;else d=c}}h=a+12|0;c=k[i>>2]|0;do if(c){b=k[q>>2]|0;while(1){d=k[c+16>>2]|0;if((b|0)<(d|0)){d=k[c>>2]|0;if(!d){d=19;break}else c=d}else{if((d|0)>=(b|0)){d=24;break}e=c+4|0;d=k[e>>2]|0;if(!d){d=23;break}else c=d}}if((d|0)==19){k[m>>2]=c;g=c;f=c;break}else if((d|0)==23){k[m>>2]=c;g=c;f=e;break}else if((d|0)==24){k[m>>2]=c;g=c;f=m;break}}else{k[m>>2]=i;g=i;f=i}while(0);c=k[f>>2]|0;if(!c){c=jo(32)|0;k[c+16>>2]=k[q>>2];d=c+20|0;k[d>>2]=k[j>>2];e=c+24|0;b=k[q+8>>2]|0;k[e>>2]=b;m=k[l>>2]|0;k[c+28>>2]=m;if(!m)k[d>>2]=e;else{k[b+8>>2]=e;k[j>>2]=n;k[n>>2]=0;k[l>>2]=0}k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=g;k[f>>2]=c;d=k[k[h>>2]>>2]|0;if(!d)d=c;else{k[h>>2]=d;d=k[f>>2]|0}Ef(k[a+16>>2]|0,d);a=a+20|0;k[a>>2]=(k[a>>2]|0)+1}nk(q+4|0,k[n>>2]|0);nk(p,k[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;e=k[a>>2]|0;f=a+4|0;c=k[f>>2]|0;g=b+4|0;if((c|0)==(e|0)){d=g;c=a;g=k[g>>2]|0;k[c>>2]=g;k[d>>2]=e;e=b+8|0;g=k[f>>2]|0;c=k[e>>2]|0;k[f>>2]=c;k[e>>2]=g;e=a+8|0;g=b+12|0;f=k[e>>2]|0;a=k[g>>2]|0;k[e>>2]=a;k[g>>2]=f;g=k[d>>2]|0;k[b>>2]=g;return}d=k[g>>2]|0;do{l=c;c=c+-116|0;k[d+-116>>2]=k[c>>2];h=l+-112|0;k[d+-112>>2]=k[h>>2];j=l+-108|0;k[d+-108>>2]=k[j>>2];m=l+-104|0;k[d+-104>>2]=k[m>>2];k[h>>2]=0;k[j>>2]=0;k[m>>2]=0;m=l+-100|0;k[d+-100>>2]=k[m>>2];j=l+-96|0;k[d+-96>>2]=k[j>>2];h=l+-92|0;k[d+-92>>2]=k[h>>2];k[m>>2]=0;k[j>>2]=0;k[h>>2]=0;i[d+-88>>0]=i[l+-88>>0]|0;h=d+-84|0;j=l+-84|0;k[h>>2]=0;m=d+-80|0;k[m>>2]=0;k[d+-76>>2]=0;k[h>>2]=k[j>>2];h=l+-80|0;k[m>>2]=k[h>>2];m=l+-76|0;k[d+-76>>2]=k[m>>2];k[m>>2]=0;k[h>>2]=0;k[j>>2]=0;j=d+-72|0;h=l+-72|0;k[j>>2]=0;m=d+-68|0;k[m>>2]=0;k[d+-64>>2]=0;k[j>>2]=k[h>>2];j=l+-68|0;k[m>>2]=k[j>>2];m=l+-64|0;k[d+-64>>2]=k[m>>2];k[m>>2]=0;k[j>>2]=0;k[h>>2]=0;h=d+-60|0;j=l+-60|0;k[h>>2]=0;m=d+-56|0;k[m>>2]=0;k[d+-52>>2]=0;k[h>>2]=k[j>>2];h=l+-56|0;k[m>>2]=k[h>>2];m=l+-52|0;k[d+-52>>2]=k[m>>2];k[m>>2]=0;k[h>>2]=0;k[j>>2]=0;k[d+-48>>2]=k[l+-48>>2];i[d+-44>>0]=i[l+-44>>0]|0;j=d+-40|0;h=l+-40|0;k[j>>2]=0;m=d+-36|0;k[m>>2]=0;k[d+-32>>2]=0;k[j>>2]=k[h>>2];j=l+-36|0;k[m>>2]=k[j>>2];m=l+-32|0;k[d+-32>>2]=k[m>>2];k[m>>2]=0;k[j>>2]=0;k[h>>2]=0;h=d+-28|0;j=l+-28|0;k[h>>2]=0;m=d+-24|0;k[m>>2]=0;k[d+-20>>2]=0;k[h>>2]=k[j>>2];h=l+-24|0;k[m>>2]=k[h>>2];m=l+-20|0;k[d+-20>>2]=k[m>>2];k[m>>2]=0;k[h>>2]=0;k[j>>2]=0;k[d+-16>>2]=k[l+-16>>2];j=d+-12|0;h=l+-12|0;k[j>>2]=0;m=d+-8|0;k[m>>2]=0;k[d+-4>>2]=0;k[j>>2]=k[h>>2];j=l+-8|0;k[m>>2]=k[j>>2];l=l+-4|0;k[d+-4>>2]=k[l>>2];k[l>>2]=0;k[j>>2]=0;k[h>>2]=0;d=(k[g>>2]|0)+-116|0;k[g>>2]=d}while((c|0)!=(e|0));m=g;l=a;j=d;h=k[a>>2]|0;k[l>>2]=j;k[m>>2]=h;h=b+8|0;l=k[f>>2]|0;j=k[h>>2]|0;k[f>>2]=j;k[h>>2]=l;h=a+8|0;l=b+12|0;j=k[h>>2]|0;g=k[l>>2]|0;k[h>>2]=g;k[l>>2]=j;m=k[m>>2]|0;k[b>>2]=m;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}p=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+10|0;l=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+10|0;i=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=j[c+8>>1]|0;d=c;while(1){if(l<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function vd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=e>>>0>1073741823?-1:e<<2;w=Xr(y)|0;_j(w|0,0,y|0)|0;x=Xr(y)|0;_j(x|0,0,y|0)|0;y=a+8|0;dj(y,w,b,c);t=k[a+32>>2]|0;u=a+40|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;s=g-f|0;v=s>>2;if((s|0)<=4){Yr(x);Yr(w);return 1}p=k[a+36>>2]|0;q=(e|0)>0;r=t+12|0;s=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}o=k[f+(d<<2)>>2]|0;if(q)_j(w|0,0,s|0)|0;if((o|0)>-1){n=k[r>>2]|0;g=0;m=o;do{a=k[n+(m<<2)>>2]|0;if((a|0)>=0){h=k[t>>2]|0;i=k[p>>2]|0;l=k[i+(k[h+(a<<2)>>2]<<2)>>2]|0;f=a+1|0;f=((f|0)%3|0|0)==0?a+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(d|0)&(j|0)<(d|0)&(f|0)<(d|0)){i=$(l,e)|0;h=$(j,e)|0;a=$(f,e)|0;if(q){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(q){f=0;do{l=w+(f<<2)|0;k[l>>2]=(k[l>>2]|0)+(k[x+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=g+1|0}}f=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);f=$(d,e)|0;if(!g)z=31;else{if(q){a=0;do{o=w+(a<<2)|0;k[o>>2]=(k[o>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}dj(y,w,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;z=31}if((z|0)==31){z=0;dj(y,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(v|0))break;a=k[u>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(x);Yr(w);return 1}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}o=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+12|0;j=c+16|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+12|0;i=c+16|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=k[c+8>>2]|0;d=c;while(1){if((j|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}p=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}j=c+9|0;l=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+9|0;j=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=i[c+8>>0]|0;d=c;while(1){if(l<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=e>>>0>1073741823?-1:e<<2;w=Xr(y)|0;_j(w|0,0,y|0)|0;x=Xr(y)|0;_j(x|0,0,y|0)|0;y=a+8|0;gj(y,w,b,c);t=k[a+32>>2]|0;u=a+40|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;s=g-f|0;v=s>>2;if((s|0)<=4){Yr(x);Yr(w);return 1}p=k[a+36>>2]|0;q=(e|0)>0;r=t+12|0;s=e<<2;d=1;a=h;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}o=k[f+(d<<2)>>2]|0;if(q)_j(w|0,0,s|0)|0;if((o|0)>-1){n=k[r>>2]|0;g=0;m=o;do{a=k[n+(m<<2)>>2]|0;if((a|0)>=0){h=k[t>>2]|0;i=k[p>>2]|0;l=k[i+(k[h+(a<<2)>>2]<<2)>>2]|0;f=a+1|0;f=((f|0)%3|0|0)==0?a+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((f|0)<0)f=-1073741824;else f=k[h+(f<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(d|0)&(j|0)<(d|0)&(f|0)<(d|0)){i=$(l,e)|0;h=$(j,e)|0;a=$(f,e)|0;if(q){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(q){f=0;do{l=w+(f<<2)|0;k[l>>2]=(k[l>>2]|0)+(k[x+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=g+1|0}}f=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);f=$(d,e)|0;if(!g)z=31;else{if(q){a=0;do{o=w+(a<<2)|0;k[o>>2]=(k[o>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}gj(y,w,b+(f<<2)|0,c+(f<<2)|0)}}else{f=$(d,e)|0;z=31}if((z|0)==31){z=0;gj(y,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0)}d=d+1|0;if((d|0)>=(v|0))break;a=k[u>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(x);Yr(w);return 1}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=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;n=v+32|0;o=v+28|0;p=v+24|0;q=v+20|0;r=v+16|0;s=v;t=b+24|0;d=i[t>>0]|0;h=d<<24>>24;j=k[a+68>>2]|0;m=$(j,h)|0;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;yg(c,0,0+(m<<2)|0);if((j|0)<=0){t=1;u=v;return t|0}l=b+84|0;m=b+68|0;a:do if(d<<24>>24>0){f=0;g=0;while(1){if(!(i[l>>0]|0))a=k[(k[m>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[t>>0]|0){case 1:{k[o>>2]=a;k[n>>2]=k[o>>2];a=fg(b,n,s)|0;break}case 2:{k[p>>2]=a;k[n>>2]=k[p>>2];a=eg(b,n,s)|0;break}case 3:{k[q>>2]=a;k[n>>2]=k[q>>2];a=dg(b,n,s)|0;break}case 4:{k[r>>2]=a;k[n>>2]=k[r>>2];a=cg(b,n,s)|0;break}default:break a}if(!a){a=0;d=24;break}e=k[c>>2]|0;a=0;d=f;while(1){k[e+(d<<2)>>2]=k[s+(a<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(j|0)){a=1;d=24;break}else f=h+f|0}if((d|0)==24){u=v;return a|0}}else{d=0;while(1){if(!(i[l>>0]|0))a=k[(k[m>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[t>>0]|0){case 1:{k[o>>2]=a;k[n>>2]=k[o>>2];a=fg(b,n,s)|0;break}case 2:{k[p>>2]=a;k[n>>2]=k[p>>2];a=eg(b,n,s)|0;break}case 3:{k[q>>2]=a;k[n>>2]=k[q>>2];a=dg(b,n,s)|0;break}case 4:{k[r>>2]=a;k[n>>2]=k[r>>2];a=cg(b,n,s)|0;break}default:break a}if(!a){a=0;d=24;break}d=d+1|0;if((d|0)>=(j|0)){a=1;d=24;break}}if((d|0)==24){u=v;return a|0}}while(0);t=0;u=v;return t|0}function Ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=k[b>>2]|0;b=s;do if((s|0)!=(n|0)){l=s+16|0;p=i[d+11>>0]|0;o=p<<24>>24<0;p=o?k[d+4>>2]|0:p&255;f=i[l+11>>0]|0;g=f<<24>>24<0;f=g?k[s+20>>2]|0:f&255;h=f>>>0

>>0;e=h?f:p;if((e|0)!=0?(j=lm(o?k[d>>2]|0:d,g?k[l>>2]|0:l,e)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?p>>>0>>0:0)break;e=p>>>0>>0?p:f;if((e|0)!=0?(m=lm(g?k[l>>2]|0:l,o?k[d>>2]|0:d,e)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!h:0)t=34;if((t|0)==34){k[c>>2]=b;return c|0}j=s+4|0;b=k[j>>2]|0;l=(b|0)==0;if(l){e=s;while(1){b=k[e+8>>2]|0;if((k[b>>2]|0)==(e|0))break;else e=b}}else while(1){e=k[b>>2]|0;if(!e)break;else b=e}do if((b|0)!=(n|0)){g=b+16|0;f=i[g+11>>0]|0;h=f<<24>>24<0;f=h?k[b+20>>2]|0:f&255;e=f>>>0

>>0?f:p;if((e|0)!=0?(q=lm(o?k[d>>2]|0:d,h?k[g>>2]|0:g,e)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?p>>>0>>0:0)break;c=lh(a,c,d)|0;return c|0}while(0);if(l){k[c>>2]=s;c=j;return c|0}else{k[c>>2]=b;c=b;return c|0}}while(0);do if((s|0)!=(k[a>>2]|0)){b=k[s>>2]|0;if(!b){b=s;while(1){e=k[b+8>>2]|0;if((k[e>>2]|0)==(b|0))b=e;else break}}else while(1){e=k[b+4>>2]|0;if(!e){e=b;break}else b=e}b=e;j=e+16|0;f=i[j+11>>0]|0;l=f<<24>>24<0;f=l?k[e+20>>2]|0:f&255;h=i[d+11>>0]|0;g=h<<24>>24<0;h=g?k[d+4>>2]|0:h&255;e=h>>>0>>0?h:f;if((e|0)!=0?(r=lm(l?k[j>>2]|0:j,g?k[d>>2]|0:d,e)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?f>>>0>>0:0)break;c=lh(a,c,d)|0;return c|0}while(0);if(!(k[s>>2]|0)){k[c>>2]=s;c=s;return c|0}else{t=b;k[c>>2]=t;c=t+4|0;return c|0}return 0}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;d=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-d|0)>>>0:0))){g=0;return g|0}h=da(i[d+b>>0]|0);e=da(h/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?h:e;o[c+4>>2]=da(0.0);g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;d=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;e=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b<<24>>24);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;j=1;return j|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;b=i[j+1>>0]|0;e=da(i[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b<<24>>24);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=da((j&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b<<24>>24);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(127.0));o[c>>2]=h;h=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(0,g|0,32)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,32)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Dd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (M=n,e)|0}else{if(!f){n=0;e=0;return (M=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (M=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}f=g-1|0;if(f&g|0){h=(ca(g|0)|0)+33-(ca(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e|0){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (M=o,p)|0}else{p=xn(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (M=o,p)|0}}else{if(f){if(e|0){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (M=o,p)|0}if(!l){if(e|0){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (M=o,p)|0}f=h-1|0;if(!(f&h)){if(e|0){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((xn(h|0)|0)>>>0);return (M=o,p)|0}f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (M=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=Fp(m|0,l|0,-1,-1)|0;c=M;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Wo(j|0,c|0,d|0,n|0)|0;p=M;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=Wo(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e|0){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (M=o,p)|0}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;o=x+12|0;p=x+4|0;q=x+8|0;r=x;w=a+8+(b*12|0)|0;d=k[w>>2]|0;s=a+8+(b*12|0)+4|0;e=k[s>>2]|0;if((e|0)!=(d|0))k[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=k[c>>2]|0;l=a+4|0;k[p>>2]=(e|0)<0?-1073741824:(e>>>0)/3|0;v=a+56|0;m=a+8+(b*12|0)+8|0;j=0;d=e;do{n=(j|0)==1;if(n){f=(d|0)<0;do if(!f)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);k[q>>2]=e;k[o>>2]=k[q>>2];if((xh(a,o)|0)<0)break;e=d+1|0;if(f){t=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;k[c>>2]=e;f=e+1|0;if((e|0)<0){t=16;break}e=((f|0)%3|0|0)==0?e+-2|0:f;if((e|0)<0){t=16;break}e=k[(k[(k[l>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;f=e+1|0;if((e|0)<0){t=16;break}e=((f|0)%3|0|0)==0?e+-2|0:f;k[c>>2]=e;if((e|0)<0)break;else{f=0;t=18}}else{i=0;f=k[p>>2]|0}while(1){if((t|0)==18){t=0;h=(e>>>0)/3|0;k[p>>2]=h;i=f;f=h}h=(k[v>>2]|0)+(f>>>5<<2)|0;f=1<<(f&31);g=k[h>>2]|0;if(f&g|0){f=i;break}k[h>>2]=g|f;f=k[s>>2]|0;if((f|0)==(k[m>>2]|0))Dj(w,p);else{k[f>>2]=k[p>>2];k[s>>2]=f+4}g=i+1|0;if((i|0)>0){do if(!(g&1)){d=n?e:d;if((e|0)>=0)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{f=e+1|0;if((e|0)>=0)e=((f|0)%3|0|0)==0?e+-2|0:f}while(0);k[c>>2]=e}k[r>>2]=e;k[o>>2]=k[r>>2];e=xh(a,o)|0;k[c>>2]=e;if((e|0)<0){f=g;break}else{f=g;t=18}}if(!((f&1|0)==0|n^1)){n=k[s>>2]|0;h=k[n+-4>>2]|0;i=(k[v>>2]|0)+(h>>>5<<2)|0;k[i>>2]=k[i>>2]&~(1<<(h&31));k[s>>2]=n+-4}j=j+1|0}while((j|0)<2);if((t|0)==12){k[c>>2]=d;e=d;t=16}if((t|0)==16)k[c>>2]=e;k[a+44+(b<<2)>>2]=d;e=k[s>>2]|0;d=k[w>>2]|0;g=d;if((e|0)==(d|0)){u=x;return}f=k[v>>2]|0;e=e-d>>2;d=0;do{v=k[g+(d<<2)>>2]|0;w=f+(v>>>5<<2)|0;k[w>>2]=k[w>>2]&~(1<<(v&31));d=d+1|0}while(d>>>0>>0);u=x;return}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Pa,f=0,g=0,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=M;f=k[a>>2]|0;d=k[f>>2]|0;if(!((g|0)<0|((g|0)==0?b>>>0<((k[f+4>>2]|0)-d|0)>>>0:0))){g=0;return g|0}h=da(l[d+b>>0]|0);e=da(h/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?h:e;o[c+4>>2]=da(0.0);g=1;return g|0}case 2:{j=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;d=k[g>>2]|0;if((j|0)>0|((j|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8;b=(j&65535)>>>8&255;e=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b&255);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;j=1;return j|0}}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,3,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;b=i[j+1>>0]|0;e=da(l[j>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b&255);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;j=1;return j|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;j=k[a>>2]|0;d=k[j>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>8&255;e=da(j&255);if(!(i[a+32>>0]|0)){o[c>>2]=e;h=da(b&255);o[c+4>>2]=h;j=1;return j|0}else{h=da(e/da(255.0));o[c>>2]=h;h=da(da(b&255)/da(255.0));o[c+4>>2]=h;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;o[c+4>>2]=da(0.0);f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=f;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;e=g;i[e>>0]=a;i[e+1>>0]=a>>8;i[e+2>>0]=a>>16;i[e+3>>0]=a>>24;g=g+4|0;i[g>>0]=f;i[g+1>>0]=f>>8;i[g+2>>0]=f>>16;i[g+3>>0]=f>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=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;m=t+8|0;r=t+4|0;s=t;q=a+68|0;k[q>>2]=(k[q>>2]|0)+1;q=(k[a+8+(b*12|0)+4>>2]|0)-(k[a+8+(b*12|0)>>2]|0)|0;n=q>>2;if((q|0)<=0){u=t;return}o=a+4|0;p=a+56|0;q=a+72|0;h=k[c>>2]|0;i=h+4|0;j=h+8|0;l=a+76|0;g=0;c=k[a+44+(b<<2)>>2]|0;do{f=(c|0)<0;b=f?-1073741824:(c>>>0)/3|0;d=(k[p>>2]|0)+(b>>>5<<2)|0;k[d>>2]=k[d>>2]|1<<(b&31);k[q>>2]=(k[q>>2]|0)+1;do if(g){k[r>>2]=c;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[l>>2]=b;k[m>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,m);if(!(g&1)){b=c+1|0;if(f)break;c=((b|0)%3|0|0)==0?c+-2|0:b;e=31;break}if(!f)if(!((c>>>0)%3|0)){c=c+2|0;e=31;break}else{c=c+-1|0;e=31;break}}else{k[r>>2]=c;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[s>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,s);b=c+1|0;if(f)b=c;else b=((b|0)%3|0|0)==0?c+-2|0:b;k[r>>2]=b;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[s>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,s);do if(!f)if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}else b=c;while(0);k[r>>2]=b;d=k[o>>2]|0;b=k[a>>2]|0;k[m>>2]=k[r>>2];b=ql(m,d,b)|0;k[l>>2]=b;k[m>>2]=b;d=k[i>>2]|0;if(d>>>0<(k[j>>2]|0)>>>0){k[d>>2]=b;k[i>>2]=d+4}else Dj(h,m);e=31}while(0);if((e|0)==31){e=0;if((c|0)>=0)c=k[(k[(k[o>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}g=g+1|0}while((g|0)<(n|0));u=t;return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>16;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=(l[a>>0]|l[a+1>>0]<<8)&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=e&65535;k[g+4>>2]=0;e=So(e|0,f|0,16)|0;g=c+8|0;k[g>>2]=e&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=((f&65535)>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;a=i[a>>0]|0;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<24>>24;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<24>>24;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(f&255)<<24>>24;e=c;k[e>>2]=g;k[e+4>>2]=((g|0)<0)<<31>>31;e=(f>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&255)<<24>>24;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=i[b+11>>0]|0;m=n<<24>>24<0;o=m?k[b>>2]|0:b;n=m?k[b+4>>2]|0:n&255;if(n>>>0>3){b=o;e=n;c=n;while(1){m=$(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24,1540483477)|0;e=($(m>>>24^m,1540483477)|0)^($(e,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else b=b+4|0}c=n+-4|0;d=c&-4;c=c-d|0;d=o+(d+4)|0;b=e}else{c=n;d=o;b=n}switch(c|0){case 3:{f=l[d+2>>0]<<16^b;j=6;break}case 2:{f=b;j=6;break}case 1:{g=b;j=7;break}default:h=b}if((j|0)==6){g=l[d+1>>0]<<8^f;j=7}if((j|0)==7)h=$(l[d>>0]^g,1540483477)|0;b=$(h>>>13^h,1540483477)|0;b=b>>>15^b;h=k[a+4>>2]|0;if(!h){o=0;return o|0}j=h+-1|0;c=(j&h|0)==0;if(c)m=b&j;else m=(b>>>0)%(h>>>0)|0;b=k[(k[a>>2]|0)+(m<<2)>>2]|0;if(!b){o=0;return o|0}b=k[b>>2]|0;if(!b){o=0;return o|0}a=(n|0)==0;if(c){a:while(1){if((k[b+4>>2]&j|0)!=(m|0)){b=0;j=35;break}c=b+8|0;d=i[c+11>>0]|0;e=d<<24>>24<0;d=d&255;do if(((e?k[b+12>>2]|0:d)|0)==(n|0)){f=k[c>>2]|0;g=e?f:c;if(e){if(a){j=35;break a}if(!(lm(g,o,n)|0)){j=35;break a}else break}if(a){j=35;break a}if((f&255)<<24>>24==(i[o>>0]|0)){e=o;do{d=d+-1|0;c=c+1|0;if(!d){j=35;break a}e=e+1|0}while((i[c>>0]|0)==(i[e>>0]|0))}}while(0);b=k[b>>2]|0;if(!b){b=0;j=35;break}}if((j|0)==35)return b|0}else{b:while(1){if((((k[b+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){b=0;j=35;break}c=b+8|0;d=i[c+11>>0]|0;f=d<<24>>24<0;d=d&255;do if(((f?k[b+12>>2]|0:d)|0)==(n|0)){g=k[c>>2]|0;e=f?g:c;if(f){if(a){j=35;break b}if(!(lm(e,o,n)|0)){j=35;break b}else break}if(a){j=35;break b}if((g&255)<<24>>24==(i[o>>0]|0)){e=o;do{d=d+-1|0;c=c+1|0;if(!d){j=35;break b}e=e+1|0}while((i[c>>0]|0)==(i[e>>0]|0))}}while(0);b=k[b>>2]|0;if(!b){b=0;j=35;break}}if((j|0)==35)return b|0}return 0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}o=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=j[c+8>>1]|0;d=c;while(1){if(i<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+16|0;x=C+8|0;y=C;z=C+4|0;k[a>>2]=b;A=a+68|0;k[A>>2]=0;B=a+72|0;k[B>>2]=0;d=Qf(b)|0;f=a+4|0;e=k[f>>2]|0;k[f>>2]=d;if(e){mk(e);_r(e);d=k[f>>2]|0}if(!d){B=0;u=C;return B|0}w=b+84|0;m=b+88|0;e=((k[m>>2]|0)-(k[w>>2]|0)|0)/12|0;i[x>>0]=0;Qh(a+56|0,e,x);e=k[m>>2]|0;d=k[w>>2]|0;if((e-d|0)<=0){B=1;u=C;return B|0}n=a+56|0;o=a+8|0;p=a+12|0;q=a+20|0;r=a+24|0;s=a+32|0;t=a+36|0;v=a+76|0;b=k[c>>2]|0;g=b+4|0;h=b+8|0;j=a+4|0;l=b;c=0;do{if(!(k[(k[n>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){D=c*3|0;k[y>>2]=D;k[x>>2]=k[y>>2];Ed(a,0,x);f=(k[p>>2]|0)-(k[o>>2]|0)>>2;k[y>>2]=D+1;k[x>>2]=k[y>>2];Ed(a,1,x);d=(k[r>>2]|0)-(k[q>>2]|0)>>2;e=d>>>0>f>>>0;k[y>>2]=D+2;k[x>>2]=k[y>>2];Ed(a,2,x);f=(k[t>>2]|0)-(k[s>>2]|0)>>2>>>0>(e?d:f)>>>0?2:e?1:((f|0)==0)<<31>>31;if((k[A>>2]|0)>0){d=k[v>>2]|0;k[x>>2]=d;e=k[g>>2]|0;if(e>>>0<(k[h>>2]|0)>>>0){k[e>>2]=d;k[g>>2]=e+4}else Dj(b,x);k[y>>2]=k[a+44+(f<<2)>>2];d=k[j>>2]|0;e=k[a>>2]|0;k[x>>2]=k[y>>2];e=ql(x,d,e)|0;k[x>>2]=e;d=k[g>>2]|0;if(d>>>0<(k[h>>2]|0)>>>0){k[d>>2]=e;k[g>>2]=d+4}else Dj(b,x);D=(k[B>>2]|0)+2|0;k[B>>2]=D;if(D&1|0){k[x>>2]=e;d=k[g>>2]|0;if(d>>>0<(k[h>>2]|0)>>>0){k[d>>2]=e;k[g>>2]=d+4}else Dj(b,x);k[B>>2]=(k[B>>2]|0)+1}}k[z>>2]=l;k[x>>2]=k[z>>2];Id(a,f,x);d=k[w>>2]|0;e=k[m>>2]|0}c=c+1|0}while((c|0)<((e-d|0)/12|0|0));d=1;u=C;return d|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}n=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){j=k[c+4>>2]&m;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}i=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}h=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=k[c+8>>2]|0;d=c;while(1){if((i|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;l=c}}k[d>>2]=l;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}o=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}j=c+9|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+9|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=i[c+8>>0]|0;d=c;while(1){if(j<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&65535)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&65535)<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=zo(No(f|0,l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0,48)|0,M|0,48)|0;g=c;k[g>>2]=e;k[g+4>>2]=M;f=zo(0,f|0,48)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=(f&65535)>>>8&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;g=c;k[g>>2]=l[a>>0];k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&255;k[g+4>>2]=0;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>8&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f>>>16&255;k[g+4>>2]=0;g=c+24|0;k[g>>2]=f>>>24;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Sd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0;m=u;u=u+32|0;g=m+12|0;h=m;k[b+40>>2]=c;f=b+32|0;k[f>>2]=d;k[b+4>>2]=e;tc(a,d,g);if(k[a>>2]|0){u=m;return}c=a+4|0;Jp(c);e=l[g+7>>0]|0;if((e|0)!=(Wa[k[(k[b>>2]|0)+8>>2]&255](b)|0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18870,50);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}d=i[g+5>>0]|0;i[b+36>>0]=d;e=i[g+6>>0]|0;i[b+37>>0]=e;if((d+-1&255)>1){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18921,22);k[a>>2]=-5;gm(c,h);Jp(h);u=m;return}if(!(d<<24>>24!=2|e<<24>>24==0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18944,22);k[a>>2]=-5;gm(c,h);Jp(h);u=m;return}e=(e&255|(d&255)<<8)&65535;j[(k[f>>2]|0)+38>>1]=e;do if((e&65535)>258?(j[g+10>>1]|0)<0:0){kg(a,b);if(!(k[a>>2]|0)){Jp(c);break}else{u=m;return}}while(0);if(!(Wa[k[(k[b>>2]|0)+12>>2]&255](b)|0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,18967,33);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}if(!(Wa[k[(k[b>>2]|0)+20>>2]&255](b)|0)){k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,19001,31);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}if(Wa[k[(k[b>>2]|0)+24>>2]&255](b)|0){k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;u=m;return}else{k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;Jk(h,19033,34);k[a>>2]=-1;gm(c,h);Jp(h);u=m;return}}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Wa[k[(k[a>>2]|0)+44>>2]&255](a)|0;if((q|0)<1){q=0;return q|0}p=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;o=$(p,q)|0;nh(a,p,q);p=k[a+16>>2]|0;p=(k[k[p>>2]>>2]|0)+(k[p+48>>2]|0)|0;m=c+8|0;e=m;d=k[e>>2]|0;e=k[e+4>>2]|0;n=c+16|0;l=n;j=k[l>>2]|0;l=k[l+4>>2]|0;if(!((e|0)>(l|0)|(e|0)==(l|0)&d>>>0>j>>>0)){q=0;return q|0}f=k[c>>2]|0;r=i[f+j>>0]|0;g=Fp(j|0,l|0,1,0)|0;h=M;s=n;k[s>>2]=g;k[s+4>>2]=h;do if(!(r<<24>>24)){if(!((e|0)>(h|0)|(e|0)==(h|0)&d>>>0>g>>>0)){s=0;return s|0}d=i[f+g>>0]|0;s=Fp(j|0,l|0,2,0)|0;h=n;k[h>>2]=s;k[h+4>>2]=M;h=d&255;if((h|0)==(Zm(5)|0)){e=o<<2;l=m;r=k[l>>2]|0;l=k[l+4>>2]|0;s=n;d=k[s>>2]|0;s=Fp(d|0,k[s+4>>2]|0,e|0,0)|0;m=M;if((l|0)<(m|0)|(l|0)==(m|0)&r>>>0>>0){s=0;return s|0}else{Gh(p|0,(k[c>>2]|0)+d|0,e|0)|0;s=n;s=Fp(k[s>>2]|0,k[s+4>>2]|0,e|0,0)|0;g=n;k[g>>2]=s;k[g+4>>2]=M;g=14;break}}if(!o)g=15;else{g=d&255;e=n;f=0;d=k[e>>2]|0;e=k[e+4>>2]|0;do{j=m;r=k[j>>2]|0;j=k[j+4>>2]|0;s=Fp(d|0,e|0,g|0,0)|0;l=M;if(!((j|0)<(l|0)|(j|0)==(l|0)&r>>>0>>0)){Gh(p+(f<<2)|0,(k[c>>2]|0)+d|0,h|0)|0;d=n;d=Fp(k[d>>2]|0,k[d+4>>2]|0,g|0,0)|0;e=M;s=n;k[s>>2]=d;k[s+4>>2]=e}f=f+1|0}while((f|0)!=(o|0));g=14}}else if(Pj(o,q,c,p)|0)g=14;else{s=0;return s|0}while(0);do if((g|0)==14)if((o|0)>0){d=a+20|0;e=k[d>>2]|0;if(e|0?Wa[k[(k[e>>2]|0)+32>>2]&255](e)|0:0){f=1;break}rn(p,o,p);f=1}else g=15;while(0);if((g|0)==15){d=a+20|0;f=0}e=k[d>>2]|0;if(e|0){if(!(_a[k[(k[e>>2]|0)+40>>2]&127](e,c)|0)){s=0;return s|0}if(f?(s=k[d>>2]|0,!(Va[k[(k[s>>2]|0)+44>>2]&63](s,p,p,o,q,k[b>>2]|0)|0)):0){s=0;return s|0}}s=1;return s|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;k[c+4>>2]=f<<16>>16;k[c+8>>2]=g<<16>>16;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f<<16>>16;k[c+4>>2]=f>>16;e=No(g|0,0,16)|0;k[c+8>>2]=e>>16;g=No(So(f|0,g|0,48)|0,M|0,16)|0;k[c+12>>2]=g>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&65535;k[c+4>>2]=g>>>16;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[c+4>>2]=f&65535;k[c+8>>2]=g&65535;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f&65535;e=So(f|0,g|0,16)|0;k[c+4>>2]=e&65535;k[c+8>>2]=g&65535;g=So(f|0,g|0,48)|0;k[c+12>>2]=g;g=1;return g|0}default:{g=0;return g|0}}return 0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}v=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=v;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;u=b+-1|0;v=(u&b|0)==0;if(v)c=c&u;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;t=a+24|0;s=c;e=f;c=f;a:while(1){r=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(v)q=d&u;else q=(d>>>0)%(b>>>0)|0;if((q|0)==(s|0))break;d=(k[a>>2]|0)+(q<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{n=k[c+8>>2]|0;m=k[t>>2]|0;o=k[m+8>>2]|0;m=(k[m+12>>2]|0)-o|0;p=m>>>2;if((m|0)>0)d=c;else{d=f;while(1){f=k[d>>2]|0;if(!f)break c;else d=f}}while(1){l=k[f+8>>2]|0;j=0;do{g=k[o+(j<<2)>>2]|0;h=(i[g+84>>0]|0)==0;if(h)m=k[(k[g+68>>2]|0)+(n<<2)>>2]|0;else m=n;if((p|0)<=(j|0)){c=35;break a}if(h)g=k[(k[g+68>>2]|0)+(l<<2)>>2]|0;else g=l;j=j+1|0;if((m|0)!=(g|0))break c}while((j|0)<(p|0));d=k[f>>2]|0;if(!d){d=f;break}else{m=f;f=d;d=m}}}while(0);k[r>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(q<<2)>>2]>>2];k[k[(k[a>>2]|0)+(q<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=40;break a}}d=k[c>>2]|0;if(!d){c=40;break a}else{e=c;r=c}}k[d>>2]=r;d=k[c>>2]|0;if(!d){c=40;break}else{s=q;e=c}}if((c|0)==35)Ka(20257,20148,64,20247);else if((c|0)==40)return}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>16;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=c;k[e>>2]=g&65535;k[e+4>>2]=0;f=So(g|0,f|0,16)|0;g=c+8|0;k[g>>2]=f&65535;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+176|0;e=r+136|0;p=r+64|0;l=r;g=r+32|0;f=k[(k[a+4>>2]|0)+44>>2]|0;q=jo(88)|0;k[q+4>>2]=0;k[q>>2]=4408;h=q+12|0;k[h>>2]=4388;j=q+64|0;k[j>>2]=0;k[q+68>>2]=0;k[q+72>>2]=0;c=q+16|0;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[q+76>>2]=f;k[q+80>>2]=b;k[q+84>>2]=0;n=p+4|0;k[n>>2]=4388;m=p+56|0;k[m>>2]=0;o=p+60|0;k[o>>2]=0;k[p+64>>2]=0;c=p+8|0;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=k[a+8>>2]|0;k[l>>2]=4388;a=l+4|0;d=a+4|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;d=c;k[a>>2]=d;d=((k[d+4>>2]|0)-(k[c>>2]|0)>>2>>>0)/3|0;i[e>>0]=0;Qh(l+8|0,d,e);Ta[k[(k[l>>2]|0)+8>>2]&127](l);Eg(g,l);Eg(e,g);k[p>>2]=k[e+4>>2];d=p+4|0;gh(d,e)|0;k[e>>2]=4388;a=k[e+20>>2]|0;if(a|0)_r(a);a=k[e+8>>2]|0;if(a|0)_r(a);k[p+36>>2]=c;k[p+40>>2]=b;k[p+44>>2]=f;k[p+48>>2]=q;k[g>>2]=4388;a=k[g+20>>2]|0;if(a|0)_r(a);a=k[g+8>>2]|0;if(a|0)_r(a);k[q+8>>2]=k[p>>2];gh(h,d)|0;a=q+44|0;h=p+36|0;k[a>>2]=k[h>>2];k[a+4>>2]=k[h+4>>2];k[a+8>>2]=k[h+8>>2];k[a+12>>2]=k[h+12>>2];i[a+16>>0]=i[h+16>>0]|0;Gg(j,k[m>>2]|0,k[o>>2]|0);k[l>>2]=4388;a=k[l+20>>2]|0;if(a|0)_r(a);a=k[l+8>>2]|0;if(a|0)_r(a);a=k[m>>2]|0;if(a|0){c=k[o>>2]|0;if((c|0)!=(a|0))k[o>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}k[n>>2]=4388;a=k[p+24>>2]|0;if(a|0)_r(a);a=k[p+12>>2]|0;if(!a){u=r;return q|0}_r(a);u=r;return q|0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=(f&65535)>>>8&65535;k[g+4>>2]=0;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=i[a+1>>0]|0;f=i[a+2>>0]|0;g=c;k[g>>2]=l[a>>0];k[g+4>>2]=0;g=c+8|0;k[g>>2]=e&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f&255;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>8&255;k[g+4>>2]=0;g=c+16|0;k[g>>2]=f>>>16&255;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=((f&65535)>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;e=i[e>>0]|0;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&255)<<24>>24;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>8&255)<<24>>24;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=~~(k[s>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24,da(o[s>>2]));k[c>>2]=g;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];g=~~da(o[s>>2]);k[c>>2]=g;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];g=~~da(o[s>>2]);k[c>>2]=g;g=1;return g|0}default:{g=0;return g|0}}return 0}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=a+92|0;i=k[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)){f=i+2|0;d=b;break}else{f=i+-1|0;d=b;break}}else{f=i;d=i}while(0);g=a+128|0;b=k[g>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0){e=1;d=-1073741824;b=c;c=28}else{e=1;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}case 5:{if(j)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(i<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0){e=2;d=-1073741824;b=c;c=28}else{e=2;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}case 3:{if(j)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(i<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0){e=1;d=-1073741824;b=c;c=28}else{e=1;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}case 7:{if(j)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(i<<2)>>2]|0;c=k[a+100>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[h>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0){e=2;d=-1073741824;b=c;c=28}else{e=2;d=k[(k[k[h>>2]>>2]|0)+(f<<2)>>2]|0;b=c;c=28}break}default:{}}if((c|0)==28){b=b+(d<<2)|0;k[b>>2]=(k[b>>2]|0)+e;b=k[g>>2]|0}switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[h>>2]|0;if(!j?(m=((l|0)%3|0|0)==0?i+-2|0:l,(m|0)>=0):0)b=k[(k[b>>2]|0)+(m<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;k[c+4>>2]=f<<16>>16;k[c+8>>2]=g<<16>>16;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f<<16>>16;k[c+4>>2]=f>>16;g=No(g|0,0,16)|0;k[c+8>>2]=g>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&65535;k[c+4>>2]=g>>>16;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=e+2|0;f=l[f>>0]|l[f+1>>0]<<8;g=e+4|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[c+4>>2]=f&65535;k[c+8>>2]=g&65535;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f&65535;f=So(f|0,g|0,16)|0;k[c+4>>2]=f&65535;k[c+8>>2]=g&65535;g=1;return g|0}default:{g=0;return g|0}}return 0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);h=da(j*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);j=da(h*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);j=da(h*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);j=da(h*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+92|0;c=k[b>>2]|0;d=(c|0)<0;b=c+1|0;do if(!d){b=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){g=c+2|0;h=b;break}else{g=c+-1|0;h=b;break}}else{g=c;h=c}while(0);switch(k[a+112>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((g|0)<0){e=1;d=-1073741824;b=c;f=28}else{e=1;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}case 5:{if(d)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(c<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((g|0)<0){e=2;d=-1073741824;b=c;f=28}else{e=2;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}case 3:{if(d)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(c<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+2;if((g|0)<0){e=1;d=-1073741824;b=c;f=28}else{e=1;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}case 7:{if(d)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(c<<2)>>2]|0;c=k[a+100>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;f=c+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+2;if((g|0)<0){e=2;d=-1073741824;b=c;f=28}else{e=2;d=k[(k[k[i>>2]>>2]|0)+(g<<2)>>2]|0;b=c;f=28}break}default:{}}if((f|0)==28){g=b+(d<<2)|0;k[g>>2]=(k[g>>2]|0)+e}if((h|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(h<<2)>>2]|0;b=k[(k[a+100>>2]|0)+(b<<2)>>2]|0;c=k[a+120>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+116|0;k[a>>2]=i;return}i=k[a+124>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+116|0;k[a>>2]=i;return}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);h=da(j*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);j=da(h*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);j=da(h*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);j=da(h*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function he(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4432;ds(a+352|0);b=k[a+340>>2]|0;if(b|0){c=a+344|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=a+320|0;c=k[d>>2]|0;k[d>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;ds(b)}while((b|0)!=(c|0))}Yr(d)}ds(a+304|0);ds(a+264|0);xj(a+228|0);b=k[a+212>>2]|0;if(b|0){c=a+216|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+200>>2]|0;if(b|0){c=a+204|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+188>>2]|0;if(b|0){c=a+192|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+176>>2]|0;if(b|0){c=a+180|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+160>>2]|0;if(b|0)do{d=b;b=k[b>>2]|0;_r(d)}while((b|0)!=0);d=a+152|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)_r(b);b=k[a+136>>2]|0;if(b|0)_r(b);b=k[a+124>>2]|0;if(b|0)_r(b);b=k[a+112>>2]|0;if(b|0)_r(b);b=k[a+88>>2]|0;if(b|0){c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a+76>>2]|0;if(d|0){b=a+80|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}b=k[a+64>>2]|0;if(b|0)_r(b);b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+36>>2]|0;if(b|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;mk(b);_r(b);return}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}n=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){i=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((j[h>>1]|0)==(j[g+8>>1]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((j[g>>1]|0)==(j[h+8>>1]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}n=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){j=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((i[h>>0]|0)==(i[g+8>>0]|0))d=g;else break}k[j>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}else{j=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((i[g>>0]|0)==(i[h+8>>0]|0))d=h;else break}k[j>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535)<<16>>16;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;f=f+4|0;f=zo(No(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0,l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0,48)|0,M|0,48)|0;g=c;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da((l[g>>0]|l[g+1>>0]<<8)<<16>>16);h=da(j/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);j=da(h/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8)<<16>>16);j=da(h/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);j=da(h/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+32|0;d=v+24|0;h=v+20|0;j=v+8|0;m=v+4|0;r=v;k[d>>2]=0;sk(d,k[a>>2]|0)|0;a:do if(k[d>>2]|0){c=0;while(1){c=c+1|0;if(!(Fe(a,b)|0)){c=0;break}if(c>>>0>=(k[d>>2]|0)>>>0)break a}u=v;return c|0}while(0);k[h>>2]=0;sk(h,k[a>>2]|0)|0;b:do if(!(k[h>>2]|0))c=1;else{g=0;while(1){k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;c=k[a>>2]|0;w=c+8|0;x=k[w+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if((x|0)>(f|0)|((x|0)==(f|0)?(k[w>>2]|0)>>>0>e>>>0:0)?(t=i[(k[c>>2]|0)+e>>0]|0,n=Fp(e|0,f|0,1,0)|0,l=d,k[l>>2]=n,k[l+4>>2]=M,l=t&255,uk(j,l,0),n=k[a>>2]|0,p=qm(j,0)|0,e=n+8|0,w=k[e>>2]|0,e=k[e+4>>2]|0,q=n+16|0,x=q,s=k[x>>2]|0,t=t&255,x=Fp(s|0,k[x+4>>2]|0,t|0,0)|0,f=M,!((e|0)<(f|0)|(e|0)==(f|0)&w>>>0>>0)):0){Gh(p|0,(k[n>>2]|0)+s|0,l|0)|0;w=q;w=Fp(k[w>>2]|0,k[w+4>>2]|0,t|0,0)|0;x=q;k[x>>2]=w;k[x+4>>2]=M;x=jo(40)|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;o[x+16>>2]=da(1.0);w=x+20|0;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;k[w+12>>2]=0;o[x+36>>2]=da(1.0);k[m>>2]=x;if(me(a,x)|0){c=k[m>>2]|0;k[m>>2]=0;k[r>>2]=c;jh(b,j,r)|0;Fj(r);c=0}else c=1;Fj(m)}else c=1;Jp(j);g=g+1|0;if(c|0){c=0;break b}if(g>>>0>=(k[h>>2]|0)>>>0){c=1;break}}}while(0);x=c;u=v;return x|0}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)_r(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Cr(a);wa(a|0,1344,125)}m=jo(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)_r(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)c=c&l;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(m){i=c;while(1){c=d;while(1){j=k[c+4>>2]&l;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((k[h>>2]|0)==(k[g+8>>2]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((k[g>>2]|0)==(k[h+8>>2]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=Fp(io(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,2,0)|0;g=M;e=k[a>>2]|0;d=k[e>>2]|0;if((g|0)>0|((g|0)==0?f>>>0>((k[e+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;j=da((l[g>>0]|l[g+1>>0]<<8)&65535);h=da(j/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?j:h;g=1;return g|0}case 2:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);j=da(h/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8)&65535);j=da(h/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;d=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-d|0)>>>0:0)){g=0;return g|0}g=d+b|0;h=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);j=da(h/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?h:j;g=1;return g|0}default:{g=0;return g|0}}return 0}function pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;k[t>>2]=e;i=a+32|0;j=a+36|0;h=k[j>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0)if(f>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){k[j>>2]=h+(~((h+-4-l|0)>>>2)<<2);f=e}else f=e;else{oj(i,e-f|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Xr(r)|0;_j(s|0,0,r|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;h=0;do{f=k[s+(h<<2)>>2]|0;g=k[l>>2]|0;if((f|0)>(g|0)){j=k[i>>2]|0;k[j+(h<<2)>>2]=g}else{r=k[m>>2]|0;j=k[i>>2]|0;k[j+(h<<2)>>2]=(f|0)<(r|0)?r:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=a+20|0;h=0;do{f=(k[b+(h<<2)>>2]|0)+(k[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;k[g>>2]=f;if((f|0)<=(k[l>>2]|0)){if((f|0)<(k[m>>2]|0)){f=(k[i>>2]|0)+f|0;u=18}}else{f=f-(k[i>>2]|0)|0;u=18}if((u|0)==18){u=0;k[g>>2]=f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}if((e|0)>=(d|0)){Yr(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;i=l+(o<<2)|0;m=b+(a<<2)|0;if((f|0)>0){h=0;do{f=k[i+(h<<2)>>2]|0;g=k[p>>2]|0;if((f|0)>(g|0)){j=k[q>>2]|0;k[j+(h<<2)>>2]=g}else{g=k[r>>2]|0;j=k[q>>2]|0;k[j+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=(k[m+(h<<2)>>2]|0)+(k[j+(h<<2)>>2]|0)|0;g=l+(h<<2)|0;k[g>>2]=f;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0)){f=(k[n>>2]|0)+f|0;u=33}}else{f=f-(k[n>>2]|0)|0;u=33}if((u|0)==33){u=0;k[g>>2]=f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}a=a+e|0}while((a|0)<(d|0));Yr(s);return 1}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=li(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=oi(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=pi(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=qi(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=ri(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=ti(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=j[b+38>>1]|0;if(!(c<<16>>16)){s=0;return s|0}s=a+12|0;do if((c&65535)<512){n=b+8|0;p=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;q=c;d=k[q>>2]|0;q=Fp(d|0,k[q+4>>2]|0,4,0)|0;o=M;if((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0){s=0;return s|0}else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[s>>0]=d;i[s+1>>0]=d>>8;i[s+2>>0]=d>>16;i[s+3>>0]=d>>24;p=c;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;break}}else if(sk(s,b)|0){d=k[s>>2]|0;break}else{s=0;return s|0}while(0);c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{oj(a,d-e|0);d=k[s>>2]|0}if(!d){s=1;return s|0}p=b+8|0;q=b+16|0;c=0;g=d;a:while(1){n=p;m=k[n>>2]|0;n=k[n+4>>2]|0;e=q;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((n|0)>(e|0)|(n|0)==(e|0)&m>>>0>d>>>0)){c=0;r=23;break}o=k[b>>2]|0;t=i[o+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;f=M;d=q;k[d>>2]=e;k[d+4>>2]=f;d=t&255;h=d&3;d=d>>>2;switch(t&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;r=23;break a}_j((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{r=20;break}default:{g=0;while(1){if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>e>>>0)){c=0;r=23;break a}t=i[o+e>>0]|0;e=Fp(e|0,f|0,1,0)|0;f=M;r=q;k[r>>2]=e;k[r+4>>2]=f;d=(t&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){r=20;break}}}}if((r|0)==20){r=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[s>>2]|0;if(c>>>0>=g>>>0){r=22;break}}if((r|0)==22){t=ui(a+16|0,k[a>>2]|0,g)|0;return t|0}else if((r|0)==23)return c|0;return 0}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+48|0;c=o+40|0;n=o;if(!(Sh(a,1,c)|0)){n=0;u=o;return n|0}m=a+40|0;f=a+16|0;d=k[f>>2]|0;e=(k[a>>2]|0)+d|0;g=a+8|0;f=Wo(k[g>>2]|0,k[g+4>>2]|0,d|0,k[f+4>>2]|0)|0;d=a+38|0;Yn(m,e,f,j[d>>1]|0);f=c;e=k[f>>2]|0;f=k[f+4>>2]|0;g=a+48|0;p=g;h=a+56|0;l=h;i=k[l>>2]|0;l=k[l+4>>2]|0;p=Wo(k[p>>2]|0,k[p+4>>2]|0,i|0,l|0)|0;q=M;if(f>>>0>q>>>0|(f|0)==(q|0)&e>>>0>p>>>0){q=0;u=o;return q|0}p=Fp(i|0,l|0,e|0,f|0)|0;q=h;k[q>>2]=p;k[q+4>>2]=M;if(!(Sh(m,1,c)|0)){q=0;u=o;return q|0}Bn(n);q=h;f=k[q>>2]|0;e=(k[m>>2]|0)+f|0;q=Wo(k[g>>2]|0,k[g+4>>2]|0,f|0,k[q+4>>2]|0)|0;Yn(n,e,q,j[d>>1]|0);d=c;c=k[d>>2]|0;d=k[d+4>>2]|0;q=n+8|0;e=n+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;q=Wo(k[q>>2]|0,k[q+4>>2]|0,f|0,g|0)|0;p=M;a:do if(d>>>0>p>>>0|(d|0)==(p|0)&c>>>0>q>>>0)b=0;else{c=Fp(f|0,g|0,c|0,d|0)|0;h=e;k[h>>2]=c;k[h+4>>2]=M;h=a+84|0;c=k[h>>2]|0;if((c|0)>0){f=c<<4;f=Xr(c>>>0>268435455|f>>>0>4294967291?-1:f+4|0)|0;k[f>>2]=c;f=f+4|0;c=f+(c<<4)|0;d=f;do{vr(d);d=d+16|0}while((d|0)!=(c|0));g=a+80|0;e=k[g>>2]|0;k[g>>2]=f;if(e|0){d=e+-4|0;c=k[d>>2]|0;if(c|0){c=e+(c<<4)|0;do{c=c+-16|0;ds(c)}while((c|0)!=(e|0))}Yr(d)}if((k[h>>2]|0)>0){c=0;do{if(!(Cg((k[g>>2]|0)+(c<<4)|0,n)|0)){b=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=n;d=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));b=1}while(0);ds(n+24|0);q=b;u=o;return q|0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&65535;k[c+4>>2]=g>>>16;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f+2|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;k[c+4>>2]=g&65535;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=f&65535;g=So(f|0,g|0,16)|0;k[c+4>>2]=g&65535;g=1;return g|0}default:{g=0;return g|0}}return 0}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;d=b+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+e>>0]|0;f=Fp(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;do switch(h<<24>>24){case 1:{h=vg(a,b,c)|0;return h|0}case 2:{h=vg(a,b,c)|0;return h|0}case 3:{h=vg(a,b,c)|0;return h|0}case 4:{h=vg(a,b,c)|0;return h|0}case 5:{h=vg(a,b,c)|0;return h|0}case 6:{h=vg(a,b,c)|0;return h|0}case 7:{h=vg(a,b,c)|0;return h|0}case 8:{h=vg(a,b,c)|0;return h|0}case 9:{h=ug(a,b,c)|0;return h|0}case 10:{h=tg(a,b,c)|0;return h|0}case 11:{h=sg(a,b,c)|0;return h|0}case 12:{h=rg(a,b,c)|0;return h|0}case 13:{h=qg(a,b,c)|0;return h|0}case 14:{h=pg(a,b,c)|0;return h|0}case 15:{h=pg(a,b,c)|0;return h|0}case 16:{h=pg(a,b,c)|0;return h|0}case 17:{h=pg(a,b,c)|0;return h|0}case 18:{h=pg(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=zo(0,l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0,32)|0;g=c;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(g&65535)<<24>>24;k[c+4>>2]=((g&65535)>>>8&65535)<<24>>24;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=i[e>>0];k[c+4>>2]=f<<24>>24;k[c+8>>2]=g<<24>>24;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<24>>24;k[c+4>>2]=g<<16>>24;k[c+8>>2]=g<<8>>24;k[c+12>>2]=g>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=(f&65535)>>>8&65535;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=c;k[g>>2]=l[e>>0];k[g+4>>2]=0;g=c+8|0;k[g>>2]=f&255;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=f&255;k[g+4>>2]=0;g=c+8|0;k[g>>2]=f>>>8&255;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=g&255;k[c+4>>2]=(g&65535)>>>8&65535;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=l[e>>0];k[c+4>>2]=f&255;k[c+8>>2]=g&255;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&255;k[c+4>>2]=g>>>8&255;k[c+8>>2]=g>>>16&255;k[c+12>>2]=g>>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ee(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4268;d=a+320|0;c=k[d>>2]|0;k[d>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;ds(b)}while((b|0)!=(c|0))}Yr(d)}ds(a+304|0);ds(a+264|0);xj(a+228|0);b=k[a+212>>2]|0;if(b|0){c=a+216|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+200>>2]|0;if(b|0){c=a+204|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+188>>2]|0;if(b|0){c=a+192|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+176>>2]|0;if(b|0){c=a+180|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+160>>2]|0;if(b|0)do{d=b;b=k[b>>2]|0;_r(d)}while((b|0)!=0);d=a+152|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)_r(b);b=k[a+136>>2]|0;if(b|0)_r(b);b=k[a+124>>2]|0;if(b|0)_r(b);b=k[a+112>>2]|0;if(b|0)_r(b);b=k[a+88>>2]|0;if(b|0){c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+76>>2]|0;if(b|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+64>>2]|0;if(b|0)_r(b);b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+36>>2]|0;if(b|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;mk(b);_r(b);return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=u;u=u+32|0;m=n+16|0;j=n+12|0;l=n;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;f=k[a>>2]|0;h=f+8|0;g=k[h+4>>2]|0;c=f+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((g|0)>(e|0)|((g|0)==(e|0)?(k[h>>2]|0)>>>0>d>>>0:0))){l=0;Jp(m);u=n;return l|0}h=i[(k[f>>2]|0)+d>>0]|0;d=Fp(d|0,e|0,1,0)|0;k[c>>2]=d;k[c+4>>2]=M;c=h&255;uk(m,c,0);d=k[a>>2]|0;e=qm(m,0)|0;r=d+8|0;p=k[r>>2]|0;r=k[r+4>>2]|0;f=d+16|0;o=f;g=k[o>>2]|0;h=h&255;o=Fp(g|0,k[o+4>>2]|0,h|0,0)|0;q=M;if((r|0)<(q|0)|(r|0)==(q|0)&p>>>0>>0){r=0;Jp(m);u=n;return r|0}Gh(e|0,(k[d>>2]|0)+g|0,c|0)|0;g=f;g=Fp(k[g>>2]|0,k[g+4>>2]|0,h|0,0)|0;c=f;k[c>>2]=g;k[c+4>>2]=M;k[j>>2]=0;sk(j,k[a>>2]|0)|0;c=k[j>>2]|0;k[l>>2]=0;g=l+4|0;k[g>>2]=0;k[l+8>>2]=0;if(!c)f=0;else{if((c|0)<0)Jq(l);d=jo(c)|0;k[g>>2]=d;k[l>>2]=d;k[l+8>>2]=d+c;do{i[d>>0]=0;d=(k[g>>2]|0)+1|0;k[g>>2]=d;c=c+-1|0}while((c|0)!=0);f=k[j>>2]|0}c=k[a>>2]|0;o=c+8|0;q=k[o>>2]|0;o=k[o+4>>2]|0;d=c+16|0;r=d;e=k[r>>2]|0;r=Fp(e|0,k[r+4>>2]|0,f|0,0)|0;p=M;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0)d=0;else{Gh(k[l>>2]|0,(k[c>>2]|0)+e|0,f|0)|0;r=d;r=Fp(k[r>>2]|0,k[r+4>>2]|0,f|0,0)|0;k[d>>2]=r;k[d+4>>2]=M;Fn(b,m,l);d=1}c=k[l>>2]|0;if(c|0){if((k[g>>2]|0)!=(c|0))k[g>>2]=c;_r(c)}r=d;Jp(m);u=n;return r|0}function Ge(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;t=Xr(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=k[v>>2]|0;k[v>>2]=t;if(d|0)Yr(d);t=a+8|0;k[t>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);n=a+56|0;g=k[n>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;s=h-f|0;o=s>>2;if((s|0)<=0){u=y;return 1}p=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[x>>2]=k[f+(d<<2)>>2];k[w>>2]=k[x>>2];Cc(a,w,c,d);m=$(d,e)|0;i=k[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((k[t>>2]|0)>0){h=0;do{f=k[i+(h<<2)>>2]|0;g=k[p>>2]|0;if((f|0)>(g|0)){j=k[q>>2]|0;k[j+(h<<2)>>2]=g}else{g=k[r>>2]|0;j=k[q>>2]|0;k[j+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[j+(g<<2)>>2]|0)|0;h=m+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0)){f=(k[s>>2]|0)+f|0;z=24}}else{f=f-(k[s>>2]|0)|0;z=24}if((z|0)==24){z=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[t>>2]|0))}}d=d+1|0;if((d|0)>=(o|0))break;g=k[n>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=y;return 1}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=M;e=k[a>>2]|0;d=k[e>>2]|0;if(!((f|0)<0|((f|0)==0?b>>>0<((k[e+4>>2]|0)-d|0)>>>0:0))){f=0;return f|0}h=da(i[d+b>>0]|0);g=da(h/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?h:g;f=1;return f|0}case 2:{j=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;e=Fp(b|0,M|0,2,0)|0;j=M;f=k[a>>2]|0;d=k[f>>2]|0;if((j|0)>0|((j|0)==0?e>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da(((l[j>>0]|l[j+1>>0]<<8)&255)<<24>>24);h=da(g/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,3,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}g=da(i[d+b>>0]|0);h=da(g/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da(((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)&255)<<24>>24);h=da(g/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;o[c+12>>2]=da(0.0);g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,16)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,16)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ke(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;t=Xr(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=k[v>>2]|0;k[v>>2]=t;if(d|0)Yr(d);t=a+8|0;k[t>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);n=a+56|0;g=k[n>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;s=h-f|0;o=s>>2;if((s|0)<=0){u=y;return 1}p=a+16|0;q=a+32|0;r=a+12|0;s=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[x>>2]=k[f+(d<<2)>>2];k[w>>2]=k[x>>2];zc(a,w,c,d);m=$(d,e)|0;i=k[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((k[t>>2]|0)>0){h=0;do{f=k[i+(h<<2)>>2]|0;g=k[p>>2]|0;if((f|0)>(g|0)){j=k[q>>2]|0;k[j+(h<<2)>>2]=g}else{g=k[r>>2]|0;j=k[q>>2]|0;k[j+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[j+(g<<2)>>2]|0)|0;h=m+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0)){f=(k[s>>2]|0)+f|0;z=24}}else{f=f-(k[s>>2]|0)|0;z=24}if((z|0)==24){z=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[t>>2]|0))}}d=d+1|0;if((d|0)>=(o|0))break;g=k[n>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=y;return 1}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=Pa,j=0;switch(i[a+24>>0]|0){case 1:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;b=Fp(io(k[d>>2]|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=M;e=k[a>>2]|0;d=k[e>>2]|0;if(!((f|0)<0|((f|0)==0?b>>>0<((k[e+4>>2]|0)-d|0)>>>0:0))){f=0;return f|0}h=da(l[d+b>>0]|0);g=da(h/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?h:g;f=1;return f|0}case 2:{j=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;e=Fp(b|0,M|0,2,0)|0;j=M;f=k[a>>2]|0;d=k[f>>2]|0;if((j|0)>0|((j|0)==0?e>>>0>((k[f+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da((l[j>>0]|l[j+1>>0]<<8)&255);h=da(g/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 3:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,3,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}g=da(l[d+b>>0]|0);h=da(g/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}case 4:{e=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;f=Fp(b|0,M|0,4,0)|0;e=M;j=k[a>>2]|0;d=k[j>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[j+4>>2]|0)-d|0)>>>0:0)){j=0;return j|0}j=d+b|0;g=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)&255);h=da(g/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?g:h;j=1;return j|0}default:{j=0;return j|0}}return 0}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f+2|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;k[c+4>>2]=g<<16>>16;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<16>>16;k[c+4>>2]=g>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=a+8|0;d=k[j>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;h=c<<24>>24;g=Xr((h|0)>-1?h:-1)|0;f=k[a+16>>2]|0;f=(k[k[f>>2]>>2]|0)+(k[f+48>>2]|0)|0;a:do if(b|0){if(c<<24>>24>0){a=0;d=0}else{Gh(k[k[d+64>>2]>>2]|0,g|0,h|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+h|0;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+c|0,g|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break a}}while(1){c=0;e=d;while(1){i[g+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(h|0))break;else e=e+1|0}Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+d|0,g|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+h|0}}while(0);Yr(g);j=1;return j|0}case 1:{c=i[d+24>>0]|0;g=c<<24>>24;h=Xr((g|0)>-1?g:-1)|0;f=k[a+16>>2]|0;f=(k[k[f>>2]>>2]|0)+(k[f+48>>2]|0)|0;b:do if(b|0){if(c<<24>>24>0){a=0;d=0}else{Gh(k[k[d+64>>2]>>2]|0,h|0,g|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+g|0;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+c|0,h|0,g|0)|0;a=a+1|0;if((a|0)==(b|0))break b}}while(1){c=0;e=d;while(1){i[h+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(g|0))break;else e=e+1|0}Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+d|0,h|0,g|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+g|0}}while(0);Yr(h);j=1;return j|0}case 4:{Wi(a,b);j=1;return j|0}case 3:{Wi(a,b);j=1;return j|0}case 6:{Xi(a,b);j=1;return j|0}case 5:{Xi(a,b);j=1;return j|0}default:{j=0;return j|0}}return 0}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(g&65535)<<24>>24;k[c+4>>2]=((g&65535)>>>8&65535)<<24>>24;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=i[e>>0];k[c+4>>2]=f<<24>>24;k[c+8>>2]=g<<24>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<24>>24;k[c+4>>2]=g<<16>>24;k[c+8>>2]=g<<8>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=g&255;k[c+4>>2]=(g&65535)>>>8&65535;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}e=b+d|0;f=i[e+1>>0]|0;g=i[e+2>>0]|0;k[c>>2]=l[e>>0];k[c+4>>2]=f&255;k[c+8>>2]=g&255;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&255;k[c+4>>2]=g>>>8&255;k[c+8>>2]=g>>>16&255;g=1;return g|0}default:{g=0;return g|0}}return 0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;o[c+8>>2]=da(0.0);g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;f=c;k[f>>2]=(l[e>>0]|l[e+1>>0]<<8)&65535;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;k[g+4>>2]=f;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}mn(c|0,b+d|0,12)|0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}e=i[b+d>>0]|0;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=((l[f>>0]|l[f+1>>0]<<8)&255)<<24>>24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=i[b+d>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255)<<24>>24;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=k[b>>2]|0;m=k[b+4>>2]|0;h=((k[c>>2]|0)-p<<3)+(k[c+4>>2]|0)-m|0;c=p;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!m){e=d+4|0;n=e;e=k[e>>2]|0}else{g=32-m|0;l=(h|0)<(g|0)?h:g;g=-1>>>(g-l|0)&-1<>2];n=d+4|0;e=k[n>>2]|0;j=32-e|0;f=j>>>0>>0?j:l;i=k[d>>2]|0;e=k[i>>2]&~(-1>>>(j-f|0)&-1<>2]=e;j=k[n>>2]|0;k[i>>2]=(j>>>0>m>>>0?g<>>(m-j|0))|e;e=(k[n>>2]|0)+f|0;i=i+(e>>>5<<2)|0;k[d>>2]=i;e=e&31;k[n>>2]=e;j=l-f|0;if((j|0)>0){k[i>>2]=g>>>(m+f|0)|k[i>>2]&~(-1>>>(32-j|0));k[n>>2]=j;e=j}c=c+4|0;k[b>>2]=c;h=h-l|0}p=32-e|0;j=-1<>>0>31){l=~j;i=k[d>>2]|0;e=h+-32|0;o=e>>>5;m=o+1|0;o=e-(o<<5)|0;e=c;f=k[i>>2]|0;g=i;while(1){q=k[e>>2]|0;r=f&l;k[g>>2]=r;k[g>>2]=q<>2]|r;g=g+4|0;f=k[g>>2]&j|q>>>p;k[g>>2]=f;h=h+-32|0;if(h>>>0<=31)break;else e=e+4|0}c=c+(m<<2)|0;k[b>>2]=c;k[d>>2]=i+(m<<2);h=o}if(!h){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}g=k[c>>2]&-1>>>(32-h|0);f=(p|0)<(h|0)?p:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(p-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[n>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[n>>2]=c&31;c=h-f|0;if((c|0)<=0){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[n>>2]=c;q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+4194304|0;k[a+48>>2]=q;q=q>>>0<1073741824;u=o;return q|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+2097152|0;k[a+48>>2]=q;q=q>>>0<536870912;u=o;return q|0}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+1048576|0;k[a+48>>2]=q;q=q>>>0<268435456;u=o;return q|0}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+262144|0;k[a+48>>2]=q;q=q>>>0<67108864;u=o;return q|0}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+131072|0;k[a+48>>2]=q;q=q>>>0<33554432;u=o;return q|0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+32768|0;k[a+48>>2]=q;q=q>>>0<8388608;u=o;return q|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;e=o;do if((m[b+38>>1]|0)<512){g=b+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,8,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&f>>>0>>0){a=0;u=o;return a|0}else{q=(k[b>>2]|0)+d|0;p=q;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;q=q+4|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[e>>2]=p;k[e+4>>2]=q;e=c;k[e>>2]=h;k[e+4>>2]=j;e=f;d=j;f=q;j=p;break}}else if(Oj(e,b)|0){j=e;g=b+8|0;c=b+16|0;d=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=k[d>>2]|0;d=k[d+4>>2]|0;f=k[j+4>>2]|0;j=k[j>>2]|0;break}else{q=0;u=o;return q|0}while(0);q=Wo(e|0,g|0,h|0,d|0)|0;p=M;if(f>>>0>p>>>0|(f|0)==(p|0)&j>>>0>q>>>0){q=0;u=o;return q|0}e=(k[b>>2]|0)+h|0;p=Fp(h|0,d|0,j|0,f|0)|0;q=c;k[q>>2]=p;k[q+4>>2]=M;if((j|0)<1){q=0;u=o;return q|0}k[a+40>>2]=e;c=j+-1|0;d=e+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+44>>2]=c;n=i[d>>0]&63;break}case 1:if((j|0)<2){q=0;u=o;return q|0}else{k[a+44>>2]=j+-2;n=e+j+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);break a}case 2:if((j|0)<3){q=0;u=o;return q|0}else{k[a+44>>2]=j+-3;n=e+j+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;break a}case 3:{k[a+44>>2]=j+-4;n=e+j+-4|0;n=(l[n+2>>0]|0)<<16|(l[n+3>>0]|0)<<24&1056964608|(l[n+1>>0]|0)<<8|(l[n>>0]|0);break}default:{}}while(0);q=n+16384|0;k[a+48>>2]=q;q=q>>>0<4194304;u=o;return q|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;g=1;return g|0}default:{g=0;return g|0}}return 0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;m=p+4|0;n=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];pb(a,r,m);r=1;u=p;return r|0}function df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;m=p+4|0;n=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];tb(a,r,m);r=1;u=p;return r|0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;m=p+4|0;n=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];qb(a,r,m);r=1;u=p;return r|0}function ff(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;f=a+32|0;e=k[f>>2]|0;o=e+8|0;n=k[o+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){p=0;return p|0}e=i[(k[e>>2]|0)+c>>0]|0;n=Fp(c|0,d|0,1,0)|0;o=b;k[o>>2]=n;k[o+4>>2]=M;o=e&255;e=e<<24>>24==0;a:do if(!e){b=0;while(1){if(!(_a[k[(k[a>>2]|0)+16>>2]&127](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(o|0))break a}return b|0}while(0);n=a+8|0;b=k[n>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){m=k[b>>2]|0;b=b+4|0;if(!(Ra[k[(k[m>>2]|0)+8>>2]&31](m,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);if(!e){b=0;do{m=k[(k[n>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(_a[k[(k[m>>2]|0)+12>>2]&127](m,k[f>>2]|0)|0)){b=0;g=26;break}}while((b|0)<(o|0));if((g|0)==26)return b|0;if(!e){h=a+20|0;j=a+24|0;g=0;do{l=k[(k[n>>2]|0)+(g<<2)>>2]|0;l=Wa[k[(k[l>>2]|0)+24>>2]&255](l)|0;if((l|0)>0){f=0;do{m=k[(k[n>>2]|0)+(g<<2)>>2]|0;m=_a[k[(k[m>>2]|0)+20>>2]&127](m,f)|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(m>>>0>=d>>>0){e=m+1|0;if(e>>>0>d>>>0){oj(h,e-d|0);b=k[h>>2]|0;break}if(e>>>0>>0?(p=b+(e<<2)|0,(c|0)!=(p|0)):0)k[j>>2]=c+(~((c+-4-p|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=g;f=f+1|0}while((f|0)!=(l|0))}g=g+1|0}while((g|0)!=(o|0))}}if(!(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)){p=0;return p|0}p=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;return p|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=(g&65535)<<24>>24;k[c+4>>2]=((g&65535)>>>8&65535)<<24>>24;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=i[f+1>>0]|0;k[c>>2]=i[f>>0];k[c+4>>2]=g<<24>>24;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g<<24>>24;k[c+4>>2]=g<<16>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function hf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;t=x+4|0;v=x;w=a+60|0;k[a+64>>2]=f;s=a+8|0;k[s>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);m=a+56|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;r=h-f|0;n=r>>2;if((r|0)<=0){u=x;return 1}o=a+16|0;p=a+32|0;q=a+12|0;r=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[v>>2]=k[f+(d<<2)>>2];k[t>>2]=k[v>>2];Ub(w,t,c,d);l=$(d,e)|0;j=b+(l<<2)|0;l=c+(l<<2)|0;if((k[s>>2]|0)>0){h=0;do{f=k[a+68+(h<<2)>>2]|0;g=k[o>>2]|0;if((f|0)>(g|0)){i=k[p>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[q>>2]|0;i=k[p>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[s>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[o>>2]|0)){if((f|0)<(k[q>>2]|0)){f=(k[r>>2]|0)+f|0;y=22}}else{f=f-(k[r>>2]|0)|0;y=22}if((y|0)==22){y=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[s>>2]|0))}}d=d+1|0;if((d|0)>=(n|0))break;g=k[m>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=x;return 1}function jf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;t=x+4|0;v=x;w=a+60|0;k[a+64>>2]=f;s=a+8|0;k[s>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else oj(d,e-g|0);m=a+56|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;r=h-f|0;n=r>>2;if((r|0)<=0){u=x;return 1}o=a+16|0;p=a+32|0;q=a+12|0;r=a+20|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[v>>2]=k[f+(d<<2)>>2];k[t>>2]=k[v>>2];Sb(w,t,c,d);l=$(d,e)|0;j=b+(l<<2)|0;l=c+(l<<2)|0;if((k[s>>2]|0)>0){h=0;do{f=k[a+68+(h<<2)>>2]|0;g=k[o>>2]|0;if((f|0)>(g|0)){i=k[p>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[q>>2]|0;i=k[p>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[s>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[o>>2]|0)){if((f|0)<(k[q>>2]|0)){f=(k[r>>2]|0)+f|0;y=22}}else{f=f-(k[r>>2]|0)|0;y=22}if((y|0)==22){y=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[s>>2]|0))}}d=d+1|0;if((d|0)>=(n|0))break;g=k[m>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=x;return 1}function kf(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4480;fi(a+240|0);xj(a+228|0);b=k[a+212>>2]|0;if(b|0){c=a+216|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+200>>2]|0;if(b|0){c=a+204|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+188>>2]|0;if(b|0){c=a+192|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+176>>2]|0;if(b|0){c=a+180|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+160>>2]|0;if(b|0)do{d=b;b=k[b>>2]|0;_r(d)}while((b|0)!=0);d=a+152|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)_r(b);b=k[a+136>>2]|0;if(b|0)_r(b);b=k[a+124>>2]|0;if(b|0)_r(b);b=k[a+112>>2]|0;if(b|0)_r(b);b=k[a+88>>2]|0;if(b|0){c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+76>>2]|0;if(b|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+64>>2]|0;if(b|0)_r(b);b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+36>>2]|0;if(b|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;mk(b);_r(b);return}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=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;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;o=k[c+4>>2]|0;q=m;k[q>>2]=k[c>>2];k[q+4>>2]=o;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];nb(a,r,n);r=1;u=p;return r|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;o=k[c+4>>2]|0;q=m;k[q>>2]=k[c>>2];k[q+4>>2]=o;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];rb(a,r,n);r=1;u=p;return r|0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;e=b+8|0;g=e;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;q=Fp(d|0,f|0,4,0)|0;r=M;if((g|0)<(r|0)|(g|0)==(r|0)&h>>>0>>0)e=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;g=j;k[g>>2]=d;k[g+4>>2]=f;g=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;r=Fp(d|0,f|0,4,0)|0;q=M;if((g|0)<(q|0)|(g|0)==(q|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;q=j;q=Fp(k[q>>2]|0,k[q+4>>2]|0,4,0)|0;r=j;k[r>>2]=q;k[r+4>>2]=M}if(!d){r=1;u=p;return r|0}else d=0;do{if(!(Cg(a+12+(d<<4)|0,b)|0)){d=0;o=14;break}d=d+1|0}while((d|0)<32);if((o|0)==14){u=p;return d|0}if(!(Cg(a+524|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+540|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+560|0,b)|0)){r=0;u=p;return r|0}if(!(Jg(a+580|0,b)|0)){r=0;u=p;return r|0}r=k[h>>2]|0;o=k[c+4>>2]|0;q=m;k[q>>2]=k[c>>2];k[q+4>>2]=o;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];ob(a,r,n);r=1;u=p;return r|0}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)<<16>>16;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)<<16>>16;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8)<<16>>16;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)<<16>>16;g=1;return g|0}default:{g=0;return g|0}}return 0}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];k[c+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8;k[c>>2]=g&255;k[c+4>>2]=(g&65535)>>>8&65535;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=i[f+1>>0]|0;k[c>>2]=l[f>>0];k[c+4>>2]=g&255;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[c>>2]=g&255;k[c+4>>2]=g>>>8&255;g=1;return g|0}default:{g=0;return g|0}}return 0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=k[b>>2]|0;m=b+4|0;e=k[m>>2]|0;h=((k[c>>2]|0)-l<<3)+(k[c+4>>2]|0)-e|0;c=l;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{f=32-e|0;l=(h|0)<(f|0)?h:f;f=-1>>>(f-l|0)&-1<>2];j=d+4|0;e=k[j>>2]|0;i=32-e|0;c=i>>>0>>0?i:l;g=k[d>>2]|0;e=k[g>>2]&~(-1>>>(i-c|0)&-1<>2]=e;i=k[j>>2]|0;n=k[m>>2]|0;k[g>>2]=(i>>>0>n>>>0?f<>>(n-i|0))|e;e=(k[j>>2]|0)+c|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=l-c|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=f>>>((k[m>>2]|0)+c|0)|e;k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-l|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{m=k[c>>2]|0;n=k[d>>2]|0;l=k[n>>2]&g;k[n>>2]=l;k[n>>2]=m<>2]|l;n=n+4|0;k[d>>2]=n;k[n>>2]=k[n>>2]&f|m>>>i;e=e+-32|0;c=(k[b>>2]|0)+4|0;k[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}g=k[c>>2]&-1>>>(32-h|0);f=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[j>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-f|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=b+16|0;n=k[l>>2]|0;h=(k[c>>2]|0)-n|0;i=c+4|0;e=(k[i>>2]|0)-n|0;f=c;k[f>>2]=h;k[f+4>>2]=e;f=k[l>>2]|0;if((f|0)<(h|0))Ka(10176,9461,250,10199);if((f|0)<(e|0))Ka(10211,9461,251,10199);g=0-f|0;if((h|0)<(g|0))Ka(10234,9461,252,10199);if((e|0)<(g|0))Ka(10258,9461,253,10199);m=(((e|0)>-1?e:0-e|0)+((h|0)>-1?h:0-h|0)|0)<=(f|0);if(m)e=h;else{Ri(b+4|0,c,i);e=k[c>>2]|0}if(!e){f=k[i>>2]|0;g=f;f=(f|0)==0}else{f=k[i>>2]|0;g=f;f=(e|0)<0&(f|0)<1}if(!e)j=(g|0)==0?0:(g|0)>0?3:1;else j=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(f){i=1;f=e;e=g}else{switch(j|0){case 1:{f=g;e=0-e|0;break}case 2:{f=0-e|0;e=0-g|0;break}case 3:{f=0-g|0;break}default:{f=e;e=g}}i=c;k[i>>2]=f;k[i+4>>2]=e;i=0}g=(k[d>>2]|0)+f|0;k[a>>2]=g;e=(k[d+4>>2]|0)+e|0;h=a+4|0;k[h>>2]=e;f=k[l>>2]|0;if((f|0)>=(g|0)){if((g|0)<(0-f|0))g=(k[b+8>>2]|0)+g|0}else g=g-(k[b+8>>2]|0)|0;k[a>>2]=g;if((f|0)>=(e|0)){if((e|0)<(0-f|0))e=(k[b+8>>2]|0)+e|0}else e=e-(k[b+8>>2]|0)|0;k[h>>2]=e;if(i)f=g;else{switch((4-j|0)%4|0|0){case 1:{f=e;e=0-g|0;break}case 2:{f=0-g|0;e=0-e|0;break}case 3:{f=0-e|0;e=g;break}default:f=g}l=a;k[l>>2]=f;k[l+4>>2]=e}if(m){m=f;b=e;m=m+n|0;b=b+n|0;n=a;a=n;k[a>>2]=m;n=n+4|0;k[n>>2]=b;return}Ri(b+4|0,a,h);m=k[a>>2]|0;b=k[h>>2]|0;m=m+n|0;b=b+n|0;n=a;a=n;k[a>>2]=m;n=n+4|0;k[n>>2]=b;return} -function Db(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;c=a+-8|0;g=k[5972]|0;if(c>>>0>>0)Aa();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)Aa();d=a&-8;o=c+d|0;a:do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)Aa();if((j|0)==(k[5973]|0)){a=o+4|0;b=k[a>>2]|0;if((b&3|0)!=3){r=j;e=i;m=j;break}k[5970]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=23912+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)Aa();if((k[b+12>>2]|0)!=(j|0))Aa()}if((c|0)==(b|0)){k[5968]=k[5968]&~(1<>>0>>0)Aa();a=c+8|0;if((k[a>>2]|0)==(j|0))f=a;else Aa()}else f=c+8|0;k[b+12>>2]=c;k[f>>2]=b;r=j;e=i;m=j;break}f=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){c=j+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){h=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)Aa();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)Aa();a=d+12|0;if((k[a>>2]|0)!=(j|0))Aa();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else Aa()}while(0);if(f){a=k[j+28>>2]|0;b=24176+(a<<2)|0;do if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[5969]=k[5969]&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=h;if(!h){r=j;e=i;m=j;break a}else break}else Aa();while(0);c=k[5972]|0;if(h>>>0>>0)Aa();k[h+24>>2]=f;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[5972]|0)>>>0)Aa();else{k[h+20>>2]=a;k[a+24>>2]=h;r=j;e=i;m=j;break}else{r=j;e=i;m=j}}else{r=j;e=i;m=j}}else{r=c;e=d;m=c}while(0);if(m>>>0>=o>>>0)Aa();a=o+4|0;b=k[a>>2]|0;if(!(b&1))Aa();if(!(b&2)){a=k[5973]|0;if((o|0)==(k[5974]|0)){q=(k[5971]|0)+e|0;k[5971]=q;k[5974]=r;k[r+4>>2]=q|1;if((r|0)!=(a|0))return;k[5973]=0;k[5970]=0;return}if((o|0)==(a|0)){q=(k[5970]|0)+e|0;k[5970]=q;k[5973]=m;k[r+4>>2]=q|1;k[m+q>>2]=q;return}e=(b&-8)+e|0;d=b>>>3;b:do if(b>>>0>=256){f=k[o+24>>2]|0;a=k[o+12>>2]|0;do if((a|0)==(o|0)){c=o+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){n=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[5972]|0)>>>0)Aa();else{k[b>>2]=0;n=a;break}}else{b=k[o+8>>2]|0;if(b>>>0<(k[5972]|0)>>>0)Aa();c=b+12|0;if((k[c>>2]|0)!=(o|0))Aa();d=a+8|0;if((k[d>>2]|0)==(o|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else Aa()}while(0);if(f|0){a=k[o+28>>2]|0;b=24176+(a<<2)|0;do if((o|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[5969]=k[5969]&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Aa();while(0);c=k[5972]|0;if(n>>>0>>0)Aa();k[n+24>>2]=f;a=o+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[5972]|0)>>>0)Aa();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[o+8>>2]|0;c=k[o+12>>2]|0;a=23912+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[5972]|0)>>>0)Aa();if((k[b+12>>2]|0)!=(o|0))Aa()}if((c|0)==(b|0)){k[5968]=k[5968]&~(1<>>0<(k[5972]|0)>>>0)Aa();a=c+8|0;if((k[a>>2]|0)==(o|0))l=a;else Aa()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[r+4>>2]=e|1;k[m+e>>2]=e;if((r|0)==(k[5973]|0)){k[5970]=e;return}}else{k[a>>2]=b&-2;k[r+4>>2]=e|1;k[m+e>>2]=e}a=e>>>3;if(e>>>0<256){c=23912+(a<<1<<2)|0;b=k[5968]|0;a=1<>2]|0;if(b>>>0<(k[5972]|0)>>>0)Aa();else{p=b;q=a}}else{k[5968]=b|a;p=c;q=c+8|0}k[q>>2]=r;k[p+12>>2]=r;k[r+8>>2]=p;k[r+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=24176+(a<<2)|0;k[r+28>>2]=a;k[r+20>>2]=0;k[r+16>>2]=0;b=k[5969]|0;c=1<>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=124;break}c=d+16+(b>>>31<<2)|0;a=k[c>>2]|0;if(!a){a=121;break}else{b=b<<1;d=a}}if((a|0)==121)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r;break}else if((a|0)==124){a=d+8|0;b=k[a>>2]|0;q=k[5972]|0;if(b>>>0>=q>>>0&d>>>0>=q>>>0){k[b+12>>2]=r;k[a>>2]=r;k[r+8>>2]=b;k[r+12>>2]=d;k[r+24>>2]=0;break}else Aa()}}else{k[5969]=b|c;k[d>>2]=r;k[r+24>>2]=d;k[r+12>>2]=r;k[r+8>>2]=r}while(0);r=(k[5976]|0)+-1|0;k[5976]=r;if(!r)a=24328;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[5976]=-1;return}function Eb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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+64|0;J=K+16|0;F=K;d=J;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(J,e,F);d=k[J+12>>2]|0;f=k[J+16>>2]|0}k[F>>2]=0;h=J+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(J+12|0,e-g|0,F);d=J+24|0;k[F>>2]=0;f=J+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=J+36|0;k[F>>2]=0;f=J+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);z=a+8|0;dj(z,k[J>>2]|0,b,c);v=k[a+32>>2]|0;C=k[a+36>>2]|0;D=jo(16)|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[D+12>>2]=0;xl(F,e);B=a+40|0;g=k[B>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;y=h-f|0;A=y>>2;a:do if((y|0)>4){t=v+64|0;w=v+28|0;x=(e|0)>0;y=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;r=1<<(o&31);s=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=42;break b}i=k[J+(f*12|0)>>2]|0;if(((k[(k[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(E=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(E|0)>=0):0)?(I=k[w>>2]|0,m=k[C>>2]|0,G=k[m+(k[I+(E<<2)>>2]<<2)>>2]|0,H=E+1|0,H=k[m+(k[I+((((H|0)%3|0|0)==0?E+-2|0:H)<<2)>>2]<<2)>>2]|0,I=k[m+(k[I+((((E>>>0)%3|0|0)==0?2:-1)+E<<2)>>2]<<2)>>2]|0,(G|0)<(d|0)&(H|0)<(d|0)&(I|0)<(d|0)):0){j=$(G,e)|0;l=$(H,e)|0;m=$(I,e)|0;if(x){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=23;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=42;break b}}while(!(n&(g|0)<0));g=(r&k[h+(q<<2)>>2]|0)!=0;if(g|s){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[t>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==42)if((f|0)>0)o=23;else{f=$(d,e)|0;o=54}if((o|0)==23){o=0;if(x){_j(k[F>>2]|0,0,y|0)|0;m=f+-1|0;l=D+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{s=k[l>>2]|0;k[l>>2]=s+1;if(!(k[m+(s>>>5<<2)>>2]&1<<(s&31))){i=k[J+(j*12|0)>>2]|0;h=0;do{s=n+(h<<2)|0;k[s>>2]=(k[s>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=D+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{s=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=54;else{i=k[F>>2]|0;if(x){h=0;do{s=i+(h<<2)|0;k[s>>2]=(k[s>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}dj(z,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==54)dj(z,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(A|0)){d=F;break a}g=k[B>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(D);g=k[J+36>>2]|0;if(g|0){d=J+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[J+24>>2]|0;if(d|0){f=J+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[J+12>>2]|0;if(d|0){f=J+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[J>>2]|0;if(!g){u=K;return 1}d=J+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=K;return 1}function Fb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;t=x;v=a+32|0;r=k[v>>2]|0;e=r+8|0;g=k[e>>2]|0;e=k[e+4>>2]|0;h=r+16|0;n=h;m=k[n>>2]|0;n=k[n+4>>2]|0;c=Fp(m|0,n|0,4,0)|0;b=M;if((e|0)<(b|0)|(e|0)==(b|0)&g>>>0>>0){w=0;u=x;return w|0}f=k[r>>2]|0;w=f+m|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;s=h;k[s>>2]=c;k[s+4>>2]=b;if((w|0)<0){w=0;u=x;return w|0}b=Fp(m|0,n|0,8,0)|0;d=M;if((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0){w=0;u=x;return w|0}s=f+c|0;s=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;q=h;k[q>>2]=b;k[q+4>>2]=d;if(!((s|0)>-1&((e|0)>(d|0)|(e|0)==(d|0)&g>>>0>b>>>0))){w=0;u=x;return w|0}q=i[f+b>>0]|0;j=Fp(m|0,n|0,9,0)|0;g=M;p=h;k[p>>2]=j;k[p+4>>2]=g;a:do if(!(q<<24>>24)){if(!(Yf(a,w)|0)){w=0;u=x;return w|0}}else{if((s|0)<256){if((w|0)<=0)break;n=a+44|0;o=t+4|0;p=t+8|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;b=r+8|0;c=k[b>>2]|0;b=k[b+4>>2]|0;b:do if((b|0)>(g|0)|(b|0)==(g|0)&c>>>0>j>>>0){m=0;f=r;h=g;g=b;e=c;do{d=f+16|0;c=k[f>>2]|0;q=i[c+j>>0]|0;b=Fp(j|0,h|0,1,0)|0;r=M;f=d;k[f>>2]=b;k[f+4>>2]=r;k[t>>2]=q&255;if(!((g|0)>(r|0)|(g|0)==(r|0)&e>>>0>b>>>0))break b;q=i[c+b>>0]|0;b=Fp(j|0,h|0,2,0)|0;r=M;f=d;k[f>>2]=b;k[f+4>>2]=r;k[o>>2]=q&255;if(!((g|0)>(r|0)|(g|0)==(r|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;r=Fp(j|0,h|0,3,0)|0;b=d;k[b>>2]=r;k[b+4>>2]=M;k[p>>2]=c&255;c=k[n>>2]|0;b=c+88|0;d=k[b>>2]|0;if((d|0)==(k[c+92>>2]|0))jj(c+84|0,t);else{k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[b>>2]=(k[b>>2]|0)+12}m=m+1|0;if((m|0)>=(w|0))break a;f=k[v>>2]|0;h=f+16|0;j=k[h>>2]|0;h=k[h+4>>2]|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;g=f+8|0;e=k[g>>2]|0;g=k[g+4>>2]|0}while((g|0)>(h|0)|(g|0)==(h|0)&e>>>0>j>>>0)}while(0);w=0;u=x;return w|0}b=(w|0)>0;if((s|0)<65536){if(!b)break;o=a+44|0;p=t+4|0;q=t+8|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;e=r+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=Fp(m|0,n|0,11,0)|0;c=M;c:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=r;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8;r=f;k[r>>2]=b;k[r+4>>2]=c;k[t>>2]=d&65535;d=Fp(j|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;r=f;k[r>>2]=d;k[r+4>>2]=c;k[p>>2]=b&65535;b=Fp(j|0,g|0,6,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;r=f;k[r>>2]=b;k[r+4>>2]=c;k[q>>2]=d&65535;d=k[o>>2]|0;c=d+88|0;b=k[c>>2]|0;if((b|0)==(k[d+92>>2]|0))jj(d+84|0,t);else{k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];k[b+8>>2]=k[t+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=Fp(j|0,g|0,2,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;u=x;return w|0}else{if(!b)break;o=a+44|0;p=t+4|0;q=t+8|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;e=r+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=Fp(m|0,n|0,13,0)|0;c=M;d:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=r;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;r=f;k[r>>2]=b;k[r+4>>2]=c;k[t>>2]=d;d=Fp(j|0,g|0,8,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;r=f;k[r>>2]=d;k[r+4>>2]=c;k[p>>2]=b;b=Fp(j|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;r=f;k[r>>2]=b;k[r+4>>2]=c;k[q>>2]=d;d=k[o>>2]|0;c=d+88|0;b=k[c>>2]|0;if((b|0)==(k[d+92>>2]|0))jj(d+84|0,t);else{k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];k[b+8>>2]=k[t+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[t>>2]=0;k[t+4>>2]=0;k[t+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=Fp(j|0,g|0,4,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;u=x;return w|0}}while(0);k[(k[a+4>>2]|0)+68>>2]=s;w=1;u=x;return w|0}function Gb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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+64|0;J=K+16|0;F=K;d=J;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(J,e,F);d=k[J+12>>2]|0;f=k[J+16>>2]|0}k[F>>2]=0;h=J+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(J+12|0,e-g|0,F);d=J+24|0;k[F>>2]=0;f=J+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=J+36|0;k[F>>2]=0;f=J+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);z=a+8|0;gj(z,k[J>>2]|0,b,c);v=k[a+32>>2]|0;C=k[a+36>>2]|0;D=jo(16)|0;k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;k[D+12>>2]=0;xl(F,e);B=a+40|0;g=k[B>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;y=h-f|0;A=y>>2;a:do if((y|0)>4){t=v+64|0;w=v+28|0;x=(e|0)>0;y=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;r=1<<(o&31);s=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=42;break b}i=k[J+(f*12|0)>>2]|0;if(((k[(k[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(E=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(E|0)>=0):0)?(I=k[w>>2]|0,m=k[C>>2]|0,G=k[m+(k[I+(E<<2)>>2]<<2)>>2]|0,H=E+1|0,H=k[m+(k[I+((((H|0)%3|0|0)==0?E+-2|0:H)<<2)>>2]<<2)>>2]|0,I=k[m+(k[I+((((E>>>0)%3|0|0)==0?2:-1)+E<<2)>>2]<<2)>>2]|0,(G|0)<(d|0)&(H|0)<(d|0)&(I|0)<(d|0)):0){j=$(G,e)|0;l=$(H,e)|0;m=$(I,e)|0;if(x){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=23;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[t>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=42;break b}}while(!(n&(g|0)<0));g=(r&k[h+(q<<2)>>2]|0)!=0;if(g|s){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[t>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==42)if((f|0)>0)o=23;else{f=$(d,e)|0;o=54}if((o|0)==23){o=0;if(x){_j(k[F>>2]|0,0,y|0)|0;m=f+-1|0;l=D+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{s=k[l>>2]|0;k[l>>2]=s+1;if(!(k[m+(s>>>5<<2)>>2]&1<<(s&31))){i=k[J+(j*12|0)>>2]|0;h=0;do{s=n+(h<<2)|0;k[s>>2]=(k[s>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=D+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{s=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=54;else{i=k[F>>2]|0;if(x){h=0;do{s=i+(h<<2)|0;k[s>>2]=(k[s>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}gj(z,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==54)gj(z,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(A|0)){d=F;break a}g=k[B>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(D);g=k[J+36>>2]|0;if(g|0){d=J+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[J+24>>2]|0;if(d|0){f=J+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[J+12>>2]|0;if(d|0){f=J+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[J>>2]|0;if(!g){u=K;return 1}d=J+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=K;return 1}function Hb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=u;u=u+64|0;G=H+16|0;F=H;d=G;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(G,e,F);d=k[G+12>>2]|0;f=k[G+16>>2]|0}k[F>>2]=0;h=G+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(G+12|0,e-g|0,F);d=G+24|0;k[F>>2]=0;f=G+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=G+36|0;k[F>>2]=0;f=G+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);x=a+8|0;dj(x,k[G>>2]|0,b,c);y=k[a+32>>2]|0;D=k[a+36>>2]|0;E=jo(16)|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;xl(F,e);A=a+40|0;g=k[A>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;C=h-f|0;z=C>>2;a:do if((C|0)>4){w=y+12|0;B=(e|0)>0;C=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}s=k[f+(d<<2)>>2]|0;t=(((s>>>0)%3|0|0)==0?2:-1)+s|0;v=(s|t|0)<0;r=(s|0)<0?s:t;q=1;f=0;g=s;b:while(1){do{if((g|0)<=-1){o=43;break b}o=k[G+(f*12|0)>>2]|0;p=k[w>>2]|0;i=k[p+(g<<2)>>2]|0;if((i|0)>=0){j=k[y>>2]|0;l=k[D>>2]|0;n=k[l+(k[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=k[j+(h<<2)>>2]|0;m=k[l+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;h=k[l+(h<<2)>>2]|0;if((n|0)<(d|0)&(m|0)<(d|0)&(h|0)<(d|0)){l=$(n,e)|0;j=$(m,e)|0;i=$(h,e)|0;if(B){h=0;do{k[o+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=26;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=k[p+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[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=43;break b}}while(!(q&(g|0)<0));if(v){q=0;g=r;continue}g=k[p+(t<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){q=0;g=g+2|0;continue}else{q=0;g=g+-1|0;continue}}if((o|0)==43)if((f|0)>0)o=26;else{f=$(d,e)|0;o=55}if((o|0)==26){o=0;if(B){_j(k[F>>2]|0,0,C|0)|0;m=f+-1|0;l=E+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{v=k[l>>2]|0;k[l>>2]=v+1;if(!(k[m+(v>>>5<<2)>>2]&1<<(v&31))){i=k[G+(j*12|0)>>2]|0;h=0;do{v=n+(h<<2)|0;k[v>>2]=(k[v>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=E+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{v=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=55;else{i=k[F>>2]|0;if(B){h=0;do{v=i+(h<<2)|0;k[v>>2]=(k[v>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}dj(x,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==55)dj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(z|0)){d=F;break a}g=k[A>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(E);g=k[G+36>>2]|0;if(g|0){d=G+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[G+24>>2]|0;if(d|0){f=G+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[G+12>>2]|0;if(d|0){f=G+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[G>>2]|0;if(!g){u=H;return 1}d=G+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=H;return 1}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=Pa,p=Pa,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=Pa;P=u;u=u+48|0;O=P+12|0;I=P+32|0;N=P;J=O+16|0;k[O>>2]=0;k[O+4>>2]=0;k[O+8>>2]=0;k[O+12>>2]=0;o[J>>2]=da(1.0);L=a+80|0;xl(N,k[L>>2]|0);e=k[L>>2]|0;a:do if((e|0)>0){z=b+48|0;A=b+40|0;x=I+2|0;y=I+4|0;B=O+4|0;C=O+12|0;D=O+8|0;E=a+40|0;F=a+64|0;w=k[c>>2]|0;d=0;v=0;r=0;while(1){m=w+v|0;h=z;l=k[h>>2]|0;h=k[h+4>>2]|0;t=A;m=io(k[t>>2]|0,k[t+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;h=Fp(m|0,M|0,l|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[I>>0]=i[h>>0]|0;i[I+1>>0]=i[h+1>>0]|0;i[I+2>>0]=i[h+2>>0]|0;i[I+3>>0]=i[h+3>>0]|0;i[I+4>>0]=i[h+4>>0]|0;i[I+5>>0]=i[h+5>>0]|0;h=j[I>>1]|0;l=j[x>>1]|0;m=j[y>>1]|0;t=(((h^318)&65535)+239^l&65535)+239^m&65535;s=(r|0)==0;b:do if(!s){f=r+-1|0;c=(f&r|0)==0;if(c)g=t&f;else g=(t>>>0)%(r>>>0)|0;e=k[(k[O>>2]|0)+(g<<2)>>2]|0;do if(e|0?(G=k[e>>2]|0,G|0):0){c:do if(c){c=G;while(1){if((k[c+4>>2]&f|0)!=(g|0)){g=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}else{c=G;while(1){if((((k[c+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(g|0)){g=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}while(0);if((g|0)==21){g=0;k[(k[N>>2]|0)+(v<<2)>>2]=k[c+16>>2];break b}else if((g|0)==22)if(s){c=0;g=39;break b}else break}while(0);g=r+-1|0;f=(g&r|0)==0;if(f)c=g&t;else c=(t>>>0)%(r>>>0)|0;e=k[(k[O>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(H=k[e>>2]|0,(H|0)!=0):0)if(f){e=H;while(1){if((k[e+4>>2]&g|0)!=(c|0)){g=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else{e=H;while(1){if((((k[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(c|0)){g=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else g=39}else{c=0;g=39}while(0);if((g|0)==39){g=0;q=jo(20)|0;j[q+8>>1]=h;j[q+10>>1]=l;j[q+12>>1]=m;k[q+16>>2]=d;k[q+4>>2]=t;k[q>>2]=0;n=da(((k[C>>2]|0)+1|0)>>>0);Q=da(r>>>0);p=da(o[J>>2]);do if(s|n>da(Q*p)){c=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~da(_(da(n/p)))>>>0;Ei(O,c>>>0>>0?e:c);c=k[B>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&t;break}else{f=c;c=(t>>>0)%(c>>>0)|0;break}}else f=r;while(0);e=(k[O>>2]|0)+(c<<2)|0;c=k[e>>2]|0;if(!c){k[q>>2]=k[D>>2];k[D>>2]=q;k[e>>2]=D;c=k[q>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;c=(k[O>>2]|0)+(c<<2)|0;g=50}}else{k[q>>2]=k[c>>2];g=50}if((g|0)==50)k[c>>2]=q;k[C>>2]=(k[C>>2]|0)+1;g=52}if((g|0)==52){s=E;t=k[s>>2]|0;s=io(t|0,k[s+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[F>>2]>>2]|0)+s|0,I|0,t|0)|0;k[(k[N>>2]|0)+(v<<2)>>2]=d;d=d+1|0}c=v+1|0;e=k[L>>2]|0;if((c|0)>=(e|0)){m=d;break a}v=c;r=k[B>>2]|0}}else m=0;while(0);if((m|0)!=(e|0)){l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[N>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[l>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(K=g+(e<<2)|0,(h|0)!=(K|0)):0)k[d>>2]=h+(~((h+-4-K|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[L>>2]|0}if((e|0)>0){f=k[N>>2]|0;if(i[l>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[L>>2]=m}e=k[N>>2]|0;if(e|0){c=N+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[O+8>>2]|0;if(c|0)do{N=c;c=k[c>>2]|0;_r(N)}while((c|0)!=0);c=k[O>>2]|0;k[O>>2]=0;if(!c){u=P;return m|0}_r(c);u=P;return m|0}function Jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=u;u=u+64|0;G=H+16|0;F=H;d=G;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[F>>2]=0;if(!e){d=0;f=0}else{Yh(G,e,F);d=k[G+12>>2]|0;f=k[G+16>>2]|0}k[F>>2]=0;h=G+16|0;g=f-d>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[h>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Yh(G+12|0,e-g|0,F);d=G+24|0;k[F>>2]=0;f=G+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Yh(d,e-g|0,F);d=G+36|0;k[F>>2]=0;f=G+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Yh(d,e-g|0,F);x=a+8|0;gj(x,k[G>>2]|0,b,c);y=k[a+32>>2]|0;D=k[a+36>>2]|0;E=jo(16)|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;xl(F,e);A=a+40|0;g=k[A>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;C=h-f|0;z=C>>2;a:do if((C|0)>4){w=y+12|0;B=(e|0)>0;C=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}s=k[f+(d<<2)>>2]|0;t=(((s>>>0)%3|0|0)==0?2:-1)+s|0;v=(s|t|0)<0;r=(s|0)<0?s:t;q=1;f=0;g=s;b:while(1){do{if((g|0)<=-1){o=43;break b}o=k[G+(f*12|0)>>2]|0;p=k[w>>2]|0;i=k[p+(g<<2)>>2]|0;if((i|0)>=0){j=k[y>>2]|0;l=k[D>>2]|0;n=k[l+(k[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=k[j+(h<<2)>>2]|0;m=k[l+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;h=k[l+(h<<2)>>2]|0;if((n|0)<(d|0)&(m|0)<(d|0)&(h|0)<(d|0)){l=$(n,e)|0;j=$(m,e)|0;i=$(h,e)|0;if(B){h=0;do{k[o+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=26;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=k[p+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[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=43;break b}}while(!(q&(g|0)<0));if(v){q=0;g=r;continue}g=k[p+(t<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){q=0;g=g+2|0;continue}else{q=0;g=g+-1|0;continue}}if((o|0)==43)if((f|0)>0)o=26;else{f=$(d,e)|0;o=55}if((o|0)==26){o=0;if(B){_j(k[F>>2]|0,0,C|0)|0;m=f+-1|0;l=E+(m<<2)|0;m=k[a+44+(m*12|0)>>2]|0;n=k[F>>2]|0;j=0;g=0;do{v=k[l>>2]|0;k[l>>2]=v+1;if(!(k[m+(v>>>5<<2)>>2]&1<<(v&31))){i=k[G+(j*12|0)>>2]|0;h=0;do{v=n+(h<<2)|0;k[v>>2]=(k[v>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=E+(j<<2)|0;j=k[a+44+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{v=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=55;else{i=k[F>>2]|0;if(B){h=0;do{v=i+(h<<2)|0;k[v>>2]=(k[v>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}gj(x,i,b+(f<<2)|0,c+(f<<2)|0)}}if((o|0)==55)gj(x,c+(($(d+-1|0,e)|0)<<2)|0,b+(f<<2)|0,c+(f<<2)|0);d=d+1|0;if((d|0)>=(z|0)){d=F;break a}g=k[A>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=F;while(0);g=k[d>>2]|0;if(g|0){d=F+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(E);g=k[G+36>>2]|0;if(g|0){d=G+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}d=k[G+24>>2]|0;if(d|0){f=G+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[G+12>>2]|0;if(d|0){f=G+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[G>>2]|0;if(!g){u=H;return 1}d=G+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=H;return 1}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;w=H+1|0;x=H+2|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;v=k[c>>2]|0;d=0;t=0;q=0;while(1){l=v+t|0;h=y;j=k[h>>2]|0;h=k[h+4>>2]|0;s=z;l=io(k[s>>2]|0,k[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;h=Fp(l|0,M|0,j|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[H>>0]=i[h>>0]|0;i[H+1>>0]=i[h+1>>0]|0;i[H+2>>0]=i[h+2>>0]|0;h=i[H>>0]|0;j=i[w>>0]|0;l=i[x>>0]|0;s=((h&255^318)+239^j&255)+239^l&255;r=(q|0)==0;b:do if(!r){f=q+-1|0;c=(f&q|0)==0;if(c)g=s&f;else g=(s>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(c){c=F;while(1){if((k[c+4>>2]&f|0)!=(g|0)){g=22;break c}if(((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==j<<24>>24:0)?(i[c+10>>0]|0)==l<<24>>24:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}else{c=F;while(1){if((((k[c+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(g|0)){g=22;break c}if(((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==j<<24>>24:0)?(i[c+10>>0]|0)==l<<24>>24:0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}while(0);if((g|0)==21){g=0;k[(k[L>>2]|0)+(t<<2)>>2]=k[c+12>>2];break b}else if((g|0)==22)if(r){c=0;g=39;break b}else break}while(0);g=q+-1|0;f=(g&q|0)==0;if(f)c=g&s;else c=(s>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(G=k[e>>2]|0,(G|0)!=0):0)if(f){e=G;while(1){if((k[e+4>>2]&g|0)!=(c|0)){g=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(c|0)){g=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else g=39}else{c=0;g=39}while(0);if((g|0)==39){g=0;p=jo(16)|0;i[p+8>>0]=h;i[p+9>>0]=j;i[p+10>>0]=l;k[p+12>>2]=d;k[p+4>>2]=s;k[p>>2]=0;m=da(((k[B>>2]|0)+1|0)>>>0);P=da(q>>>0);n=da(o[I>>2]);do if(r|m>da(P*n)){c=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~da(_(da(m/n)))>>>0;Li(N,c>>>0>>0?e:c);c=k[A>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&s;break}else{f=c;c=(s>>>0)%(c>>>0)|0;break}}else f=q;while(0);e=(k[N>>2]|0)+(c<<2)|0;c=k[e>>2]|0;if(!c){k[p>>2]=k[C>>2];k[C>>2]=p;k[e>>2]=C;c=k[p>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;c=(k[N>>2]|0)+(c<<2)|0;g=50}}else{k[p>>2]=k[c>>2];g=50}if((g|0)==50)k[c>>2]=p;k[B>>2]=(k[B>>2]|0)+1;g=52}if((g|0)==52){r=D;s=k[r>>2]|0;r=io(s|0,k[r+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+r|0,H|0,s|0)|0;k[(k[L>>2]|0)+(t<<2)>>2]=d;d=d+1|0}c=t+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=c;q=k[A>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=l}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return l|0}_r(c);u=O;return l|0}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+24|0;H=O+12|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;w=H+4|0;x=H+8|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;v=k[c>>2]|0;d=0;t=0;s=0;while(1){f=v+t|0;e=y;c=k[e>>2]|0;e=k[e+4>>2]|0;r=z;f=io(k[r>>2]|0,k[r+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=Fp(f|0,M|0,c|0,e|0)|0;c=H;e=(k[k[b>>2]>>2]|0)+e|0;f=c+12|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(f|0));h=k[H>>2]|0;j=k[w>>2]|0;l=k[x>>2]|0;r=((h^318)+239^j)+239^l;q=(s|0)==0;b:do if(!q){f=s+-1|0;c=(f&s|0)==0;if(c)g=r&f;else g=(r>>>0)%(s>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(c){c=F;while(1){if((k[c+4>>2]&f|0)!=(g|0)){g=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}else{c=F;while(1){if((((k[c+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){g=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){g=21;break c}c=k[c>>2]|0;if(!c){g=22;break}}}while(0);if((g|0)==21){g=0;k[(k[L>>2]|0)+(t<<2)>>2]=k[c+20>>2];break b}else if((g|0)==22)if(q){c=0;g=39;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)c=g&r;else c=(r>>>0)%(s>>>0)|0;f=k[(k[N>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(G=k[f>>2]|0,(G|0)!=0):0)if(e){e=G;while(1){if((k[e+4>>2]&g|0)!=(c|0)){g=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(c|0)){g=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){g=52;break b}e=k[e>>2]|0;if(!e){g=39;break}}}else g=39}else{c=0;g=39}while(0);if((g|0)==39){g=0;p=jo(24)|0;k[p+8>>2]=h;k[p+12>>2]=j;k[p+16>>2]=l;k[p+20>>2]=d;k[p+4>>2]=r;k[p>>2]=0;m=da(((k[B>>2]|0)+1|0)>>>0);P=da(s>>>0);n=da(o[I>>2]);do if(q|m>da(P*n)){c=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~da(_(da(m/n)))>>>0;Ii(N,c>>>0>>0?e:c);c=k[A>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&r;break}else{f=c;c=(r>>>0)%(c>>>0)|0;break}}else f=s;while(0);e=(k[N>>2]|0)+(c<<2)|0;c=k[e>>2]|0;if(!c){k[p>>2]=k[C>>2];k[C>>2]=p;k[e>>2]=C;c=k[p>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;c=(k[N>>2]|0)+(c<<2)|0;g=50}}else{k[p>>2]=k[c>>2];g=50}if((g|0)==50)k[c>>2]=p;k[B>>2]=(k[B>>2]|0)+1;g=52}if((g|0)==52){r=D;s=k[r>>2]|0;r=io(s|0,k[r+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+r|0,H|0,s|0)|0;k[(k[L>>2]|0)+(t<<2)>>2]=d;d=d+1|0}c=t+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=c;s=k[A>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=l}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return l|0}_r(c);u=O;return l|0}function Mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;I=M+12|0;z=M;if(!b){L=0;u=M;return L|0}J=a+12|0;G=a+4|0;l=k[G>>2]|0;j=k[a>>2]|0;c=l-j>>2;d=a+16|0;g=k[d>>2]|0;f=k[J>>2]|0;e=g-f>>2;h=j;if(c>>>0<=e>>>0){if(c>>>0>>0?(i=f+(c<<2)|0,(g|0)!=(i|0)):0)k[d>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Yh(J,c-e|0,4756);j=k[a>>2]|0;h=j;l=k[G>>2]|0}k[L>>2]=0;H=L+4|0;k[H>>2]=0;k[L+8>>2]=0;e=l-j|0;c=e>>2;d=L+8|0;do if(c)if(c>>>0>1073741823){M=Ma(4)|0;Cr(M);wa(M|0,1344,125)}else{F=jo(e)|0;f=F;k[L>>2]=f;k[H>>2]=f;k[d>>2]=F+(c<<2);d=F;break}else{d=0;f=0}while(0);if((e|0)>0){t=d;v=l;w=j;x=0;n=f;o=d;p=d;m=d;q=f;i=f;r=j;c=l;e=d;d=f;while(1){s=k[h+(x<<2)>>2]|0;g=k[H>>2]|0;if((s|0)<(g-d>>2|0)){f=t;g=v;h=w;j=q;l=e;d=r}else{e=s+1|0;k[I>>2]=0;f=g-d>>2;c=g;if(e>>>0<=f>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){k[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=t;e=v;c=w}else{d=t;e=v;c=w}else{Yh(L,e-f|0,I);d=k[L>>2]|0;e=k[G>>2]|0;c=k[a>>2]|0}i=d;f=d;g=e;h=c;n=i;o=d;p=d;m=d;j=i;l=d;d=c;c=e}F=l+(s<<2)|0;k[F>>2]=(k[F>>2]|0)+1;x=x+1|0;if((x|0)>=(c-d>>2|0)){h=j;F=n;break}else{t=f;v=g;w=h;q=j;r=d;e=l;h=d;d=l}}}else{i=f;h=f;m=d;F=f;o=d;p=d;d=j;c=l}c=c-d|0;f=c>>2;k[I>>2]=0;E=I+4|0;k[E>>2]=0;k[I+8>>2]=0;if(!f){e=0;d=0}else{if(f>>>0>536870911){Jq(I);M=Ma(4)|0;Cr(M);wa(M|0,1344,125)}g=jo(c<<1)|0;k[E>>2]=g;k[I>>2]=g;k[I+8>>2]=g+(f<<3);c=f;e=g;d=g;while(1){D=e;k[D>>2]=-1;k[D+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}k[E>>2]=g+(f<<3);e=g;d=g}D=k[H>>2]|0;c=D-i|0;f=c>>2;k[z>>2]=0;C=z+4|0;k[C>>2]=0;k[z+8>>2]=0;do if(f)if(f>>>0>1073741823){Jq(z);M=Ma(4)|0;Cr(M);wa(M|0,1344,125)}else{B=jo(c)|0;k[z>>2]=B;A=B+(f<<2)|0;k[z+8>>2]=A;_j(B|0,0,c|0)|0;k[C>>2]=A;z=B;break}else{z=0;A=0;B=0}while(0);if((D|0)!=(h|0)){g=D-m>>2;c=0;f=0;while(1){k[z+(f<<2)>>2]=c;h=f+1|0;if(h>>>0>>0){c=(k[m+(f<<2)>>2]|0)+c|0;f=h}else break}}y=k[a>>2]|0;c=(k[G>>2]|0)-y|0;if((c|0)>0){x=a+40|0;w=c>>2;r=e;f=e;s=e;g=e;t=e;v=0;j=z;while(1){l=(v|0)<0;c=v+1|0;if(!l){c=((c|0)%3|0|0)==0?v+-2|0:c;if((c|0)<0)h=-1073741824;else h=k[y+(c<<2)>>2]|0;c=(v>>>0)%3|0;i=((c|0)==0?2:-1)+v|0;if((i|0)<0)q=-1073741824;else q=k[y+(i<<2)>>2]|0}else{c=(v>>>0)%3|0;h=-1073741824;q=-1073741824}if((v|0)==((l?-1073741824:v-c|0)|0)){if(l)c=-1073741824;else c=k[y+(v<<2)>>2]|0;if((h|0)==(q|0)|((c|0)==(h|0)|(c|0)==(q|0))){k[x>>2]=(k[x>>2]|0)+1;l=r;m=s;i=t;c=v+2|0;h=p}else K=60}else K=60;a:do if((K|0)==60){K=0;n=k[p+(q<<2)>>2]|0;b:do if((n|0)>0){c=0;l=k[j+(q<<2)>>2]|0;while(1){i=k[g+(l<<3)>>2]|0;if((i|0)<0){c=r;break b}if((i|0)==(h|0))break;c=c+1|0;if((c|0)<(n|0))l=l+1|0;else{c=r;break b}}m=k[g+(l<<3)+4>>2]|0;i=l;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;k[f+(i<<3)>>2]=k[f+(g<<3)>>2];k[f+(i<<3)+4>>2]=k[f+(g<<3)+4>>2];if((k[r+(i<<3)>>2]|0)<0)break;else{i=g;f=r}}k[s+(i<<3)>>2]=-1;if((m|0)<0){c=s;f=s;g=s}else{l=k[J>>2]|0;k[l+(v<<2)>>2]=m;k[l+(m<<2)>>2]=v;l=s;f=s;m=s;g=s;i=t;c=v;h=p;break a}}else c=r;while(0);i=k[o+(h<<2)>>2]|0;if((i|0)>0){g=0;c=k[z+(h<<2)>>2]|0;while(1){f=t+(c<<3)|0;if((k[f>>2]|0)<0)break;g=g+1|0;if((g|0)>=(i|0)){l=t;f=t;m=t;g=t;i=t;c=v;j=z;h=o;break a}else c=c+1|0}k[f>>2]=q;k[e+(c<<3)+4>>2]=v;l=e;f=e;m=e;g=e;i=e;c=v;j=z;h=o}else{l=c;m=s;i=t;c=v;h=o}}while(0);v=c+1|0;if((v|0)>=(w|0))break;else{r=l;s=m;t=i;p=h}}}k[b>>2]=D-F>>2;if(z){if((A|0)!=(z|0))k[C>>2]=A+(~((A+-4-z|0)>>>2)<<2);_r(B);d=k[I>>2]|0;e=d}if(e|0){c=k[E>>2]|0;if((c|0)!=(e|0))k[E>>2]=c+(~((c+-8-e|0)>>>3)<<3);_r(d)}c=k[L>>2]|0;if(c|0){d=k[H>>2]|0;if((d|0)!=(c|0))k[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c)}L=1;u=M;return L|0}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=Pa,p=Pa,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=Pa;L=u;u=u+48|0;K=L+20|0;F=L;J=L+8|0;G=K+16|0;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[G>>2]=da(1.0);I=a+80|0;xl(J,k[I>>2]|0);e=k[I>>2]|0;a:do if((e|0)>0){w=b+48|0;x=b+40|0;y=K+4|0;z=K+12|0;A=K+8|0;B=a+40|0;C=a+64|0;v=k[c>>2]|0;c=0;t=0;q=0;while(1){r=v+c|0;j=w;h=k[j>>2]|0;j=k[j+4>>2]|0;s=x;s=io(r|0,((r|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;j=Fp(s|0,M|0,h|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;s=F;k[s>>2]=h;k[s+4>>2]=j;s=(h^318)+239^j;r=(q|0)==0;b:do if(!r){f=q+-1|0;d=(f&q|0)==0;if(d)g=s&f;else g=(s>>>0)%(q>>>0)|0;e=k[(k[K>>2]|0)+(g<<2)>>2]|0;do if(e|0?(D=k[e>>2]|0,D|0):0){c:do if(d){d=D;while(1){if((k[d+4>>2]&f|0)!=(g|0)){g=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){g=19;break c}d=k[d>>2]|0;if(!d){g=20;break}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(g|0)){g=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){g=19;break c}d=k[d>>2]|0;if(!d){g=20;break}}}while(0);if((g|0)==19){g=0;k[(k[J>>2]|0)+(c<<2)>>2]=k[d+16>>2];d=t;break b}else if((g|0)==20)if(r){d=0;g=35;break b}else break}while(0);g=q+-1|0;f=(g&q|0)==0;if(f)d=g&s;else d=(s>>>0)%(q>>>0)|0;e=k[(k[K>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(E=k[e>>2]|0,(E|0)!=0):0)if(f){e=E;while(1){if((k[e+4>>2]&g|0)!=(d|0)){g=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){g=48;break b}e=k[e>>2]|0;if(!e){g=35;break}}}else{e=E;while(1){if((((k[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){g=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){g=48;break b}e=k[e>>2]|0;if(!e){g=35;break}}}else g=35}else{d=0;g=35}while(0);if((g|0)==35){g=0;m=jo(20)|0;f=m+8|0;k[f>>2]=h;k[f+4>>2]=j;k[m+16>>2]=t;k[m+4>>2]=s;k[m>>2]=0;n=da(((k[z>>2]|0)+1|0)>>>0);N=da(q>>>0);p=da(o[G>>2]);do if(r|n>da(N*p)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~da(_(da(n/p)))>>>0;Ji(K,d>>>0>>0?e:d);d=k[y>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&s;break}else{f=d;d=(s>>>0)%(d>>>0)|0;break}}else f=q;while(0);e=(k[K>>2]|0)+(d<<2)|0;d=k[e>>2]|0;if(!d){k[m>>2]=k[A>>2];k[A>>2]=m;k[e>>2]=A;d=k[m>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;d=(k[K>>2]|0)+(d<<2)|0;g=46}}else{k[m>>2]=k[d>>2];g=46}if((g|0)==46)k[d>>2]=m;k[z>>2]=(k[z>>2]|0)+1;g=48}if((g|0)==48){s=B;d=k[s>>2]|0;s=io(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Gh((k[k[C>>2]>>2]|0)+s|0,F|0,d|0)|0;k[(k[J>>2]|0)+(c<<2)>>2]=t;d=t+1|0}c=c+1|0;e=k[I>>2]|0;if((c|0)>=(e|0)){m=d;break a}t=d;q=k[y>>2]|0}}else m=0;while(0);if((m|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[J>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(H=g+(e<<2)|0,(h|0)!=(H|0)):0)k[d>>2]=h+(~((h+-4-H|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[I>>2]|0}if((e|0)>0){f=k[J>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[I>>2]=m}e=k[J>>2]|0;if(e|0){c=J+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[K+8>>2]|0;if(c|0)do{J=c;c=k[c>>2]|0;_r(J)}while((c|0)!=0);c=k[K>>2]|0;k[K>>2]=0;if(!c){u=L;return m|0}_r(c);u=L;return m|0}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=Pa,q=Pa,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+16|0;H=O+12|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;x=k[c>>2]|0;c=0;w=0;s=0;while(1){m=x+c|0;n=y;h=k[n>>2]|0;n=k[n+4>>2]|0;v=z;v=io(m|0,((m|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0;n=Fp(v|0,M|0,h|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;k[H>>2]=n;h=n&65535;v=n>>>16;m=v&65535;v=(n&65535^318)+239^v;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=v&f;else g=(v>>>0)%(s>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(d){d=F;while(1){if((k[d+4>>2]&f|0)!=(g|0)){r=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}else{d=F;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){r=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}while(0);if((r|0)==19){r=0;k[(k[L>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=w;break b}else if((r|0)==20)if(t){d=0;r=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&v;else d=(v>>>0)%(s>>>0)|0;f=k[(k[N>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(G=k[f>>2]|0,(G|0)!=0):0)if(e){e=G;while(1){if((k[e+4>>2]&g|0)!=(d|0)){r=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){r=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else r=35}else{d=0;r=35}while(0);if((r|0)==35){r=0;g=jo(16)|0;m=g+8|0;j[m>>1]=n;j[m+2>>1]=n>>>16;k[g+12>>2]=w;k[g+4>>2]=v;k[g>>2]=0;p=da(((k[B>>2]|0)+1|0)>>>0);P=da(s>>>0);q=da(o[I>>2]);do if(t|p>da(P*q)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~da(_(da(p/q)))>>>0;Fi(N,d>>>0>>0?e:d);d=k[A>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&v;break}else{f=d;d=(v>>>0)%(d>>>0)|0;break}}else f=s;while(0);e=(k[N>>2]|0)+(d<<2)|0;d=k[e>>2]|0;if(!d){k[g>>2]=k[C>>2];k[C>>2]=g;k[e>>2]=C;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;d=(k[N>>2]|0)+(d<<2)|0;r=46}}else{k[g>>2]=k[d>>2];r=46}if((r|0)==46)k[d>>2]=g;k[B>>2]=(k[B>>2]|0)+1;r=48}if((r|0)==48){v=D;d=k[v>>2]|0;v=io(d|0,k[v+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+v|0,H|0,d|0)|0;k[(k[L>>2]|0)+(c<<2)>>2]=w;d=w+1|0}c=c+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){n=d;break a}w=d;s=k[A>>2]|0}}else n=0;while(0);if((n|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=n}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return n|0}_r(c);u=O;return n|0}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=Pa,q=Pa,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=Pa;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;xl(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;x=k[c>>2]|0;c=0;w=0;s=0;while(1){m=x+c|0;n=y;h=k[n>>2]|0;n=k[n+4>>2]|0;v=z;v=io(m|0,((m|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0;n=Fp(v|0,M|0,h|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;n=l[n>>0]|l[n+1>>0]<<8;j[H>>1]=n;h=n&255;v=(n&65535)>>>8;m=v&255;v=((n&255^318)+239<<16>>16^v)&65535;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=v&f;else g=(v>>>0)%(s>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(d){d=F;while(1){if((k[d+4>>2]&f|0)!=(g|0)){r=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}else{d=F;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){r=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){r=19;break c}d=k[d>>2]|0;if(!d){r=20;break}}}while(0);if((r|0)==19){r=0;k[(k[L>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=w;break b}else if((r|0)==20)if(t){d=0;r=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&v;else d=(v>>>0)%(s>>>0)|0;f=k[(k[N>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(G=k[f>>2]|0,(G|0)!=0):0)if(e){e=G;while(1){if((k[e+4>>2]&g|0)!=(d|0)){r=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){r=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){r=48;break b}e=k[e>>2]|0;if(!e){r=35;break}}}else r=35}else{d=0;r=35}while(0);if((r|0)==35){r=0;g=jo(16)|0;m=g+8|0;i[m>>0]=n;i[m+1>>0]=n>>8;k[g+12>>2]=w;k[g+4>>2]=v;k[g>>2]=0;p=da(((k[B>>2]|0)+1|0)>>>0);P=da(s>>>0);q=da(o[I>>2]);do if(t|p>da(P*q)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~da(_(da(p/q)))>>>0;Mi(N,d>>>0>>0?e:d);d=k[A>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&v;break}else{f=d;d=(v>>>0)%(d>>>0)|0;break}}else f=s;while(0);e=(k[N>>2]|0)+(d<<2)|0;d=k[e>>2]|0;if(!d){k[g>>2]=k[C>>2];k[C>>2]=g;k[e>>2]=C;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;d=(k[N>>2]|0)+(d<<2)|0;r=46}}else{k[g>>2]=k[d>>2];r=46}if((r|0)==46)k[d>>2]=g;k[B>>2]=(k[B>>2]|0)+1;r=48}if((r|0)==48){v=D;d=k[v>>2]|0;v=io(d|0,k[v+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;Gh((k[k[E>>2]>>2]|0)+v|0,H|0,d|0)|0;k[(k[L>>2]|0)+(c<<2)>>2]=w;d=w+1|0}c=c+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){n=d;break a}w=d;s=k[A>>2]|0}}else n=0;while(0);if((n|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=n}e=k[L>>2]|0;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;_r(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){u=O;return n|0}_r(c);u=O;return n|0}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;t=x;s=x+36|0;h=x+32|0;i=x+28|0;j=x+24|0;l=x+20|0;m=x+16|0;n=x+12|0;v=x+8|0;w=x+4|0;if((k[a+96>>2]|0)==(k[a+92>>2]|0)){u=x;return}c=a+56|0;d=k[c>>2]|0;if((d|0)==(k[a+60>>2]|0)){Dj(a+52|0,b);p=b}else{k[d>>2]=k[b>>2];k[c>>2]=d+4;p=b}q=a+88|0;k[q>>2]=0;d=k[a>>2]|0;c=k[p>>2]|0;b=c+1|0;if((c|0)>=0){b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[d>>2]|0)+(b<<2)>>2]|0;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0){f=b;g=-1073741824}else{f=b;g=k[(k[d>>2]|0)+(c<<2)>>2]|0}}else{f=-1073741824;g=-1073741824}o=a+24|0;b=k[o>>2]|0;c=b+(f>>>5<<2)|0;d=1<<(f&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;k[h>>2]=f;b=k[p>>2]|0;c=b+1|0;if((b|0)>=0)b=((c|0)%3|0|0)==0?b+-2|0:c;k[i>>2]=b;k[s>>2]=k[h>>2];k[t>>2]=k[i>>2];ph(a+36|0,s,t);b=k[o>>2]|0}b=b+(g>>>5<<2)|0;c=1<<(g&31);d=k[b>>2]|0;if(!(d&c)){k[b>>2]=d|c;c=a+36|0;k[j>>2]=g;b=k[p>>2]|0;do if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}while(0);k[l>>2]=b;k[s>>2]=k[j>>2];k[t>>2]=k[l>>2];ph(c,s,t)}b=k[p>>2]|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(b<<2)>>2]|0;c=(k[o>>2]|0)+(b>>>5<<2)|0;d=1<<(b&31);e=k[c>>2]|0;if(!(d&e)){k[c>>2]=e|d;k[m>>2]=b;k[n>>2]=k[p>>2];k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];ph(a+36|0,s,t)}b=k[q>>2]|0;a:do if((b|0)<3){j=a+12|0;l=a+36|0;m=a+92|0;while(1){d=b;while(1){c=a+52+(d*12|0)+4|0;b=k[c>>2]|0;if((k[a+52+(d*12|0)>>2]|0)!=(b|0))break;b=d+1|0;if((b|0)<3)d=b;else break a}n=b+-4|0;b=k[n>>2]|0;k[c>>2]=n;k[q>>2]=d;k[p>>2]=b;if((b|0)<=-1)break;n=(b>>>0)/3|0;c=k[j>>2]|0;do if(!(k[c+(n>>>5<<2)>>2]&1<<(n&31))){b:while(1){n=(b|0)/3|0;c=c+(n>>>5<<2)|0;k[c>>2]=1<<(n&31)|k[c>>2];c=k[p>>2]|0;if((c|0)<0)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(k[o>>2]|0)+(b>>>5<<2)|0;e=1<<(b&31);f=k[d>>2]|0;if(!(e&f)){k[d>>2]=f|e;k[v>>2]=b;k[w>>2]=k[p>>2];k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];ph(l,s,t);c=k[p>>2]|0}g=k[a>>2]|0;if((c|0)<0){r=69;break}b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)i=b;else i=k[(k[g+12>>2]|0)+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)>=0)b=k[(k[g+12>>2]|0)+(b<<2)>>2]|0;h=(i|0)<0;c=h?-1:(i>>>0)/3|0;d=(b|0)<0;e=d?-1:(b>>>0)/3|0;if(h)f=1;else f=(k[(k[j>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)!=0;do if(d)if(f){r=69;break b}else r=58;else{if(k[(k[j>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0)if(f){r=69;break b}else{r=58;break}c=k[(k[g>>2]|0)+(b<<2)>>2]|0;if(!(1<<(c&31)&k[(k[o>>2]|0)+(c>>>5<<2)>>2])){n=(k[m>>2]|0)+(c<<2)|0;e=k[n>>2]|0;k[n>>2]=e+1;e=(e|0)>0?1:2}else e=0;if(f?(e|0)<=(k[q>>2]|0):0)break;k[t>>2]=b;c=a+52+(e*12|0)+4|0;d=k[c>>2]|0;if((d|0)==(k[a+52+(e*12|0)+8>>2]|0))Dj(a+52+(e*12|0)|0,t);else{k[d>>2]=b;k[c>>2]=d+4}if((k[q>>2]|0)>(e|0))k[q>>2]=e;if(f){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(h)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(i<<2)>>2]|0;if(!(1<<(b&31)&k[(k[o>>2]|0)+(b>>>5<<2)>>2])){n=(k[m>>2]|0)+(b<<2)|0;b=k[n>>2]|0;k[n>>2]=b+1;b=(b|0)>0?1:2}else b=0;if((b|0)>(k[q>>2]|0))break;else b=i}k[p>>2]=b;c=k[j>>2]|0}if((r|0)==69){r=0;b=k[q>>2]|0;break}k[t>>2]=i;c=a+52+(b*12|0)+4|0;d=k[c>>2]|0;if((d|0)==(k[a+52+(b*12|0)+8>>2]|0))Dj(a+52+(b*12|0)|0,t);else{k[d>>2]=i;k[c>>2]=d+4}c=k[q>>2]|0;if((c|0)>(b|0))k[q>>2]=b;else b=c}else b=d;while(0);if((b|0)>=3)break a}u=x;return}while(0);k[p>>2]=-1073741824;u=x;return}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ac(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Nb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bc(a,b,d)|0;break}default:c=0}break}case 1:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=cc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Pb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Kb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Yb(a,b,d)|0;break}default:c=0}break}case 11:case 2:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=cc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Pb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Kb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Yb(a,b,d)|0;break}default:c=0}break}case 4:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=_b(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ob(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ib(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Vb(a,b,d)|0;break}default:c=0}break}case 3:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=_b(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ob(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ib(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Vb(a,b,d)|0;break}default:c=0}break}case 6:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ac(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Nb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bc(a,b,d)|0;break}default:c=0}break}case 5:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ac(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Nb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bc(a,b,d)|0;break}default:c=0}break}default:{h=-1;u=j;return h|0}}h=(c|0)==0?-1:c;u=j;return h|0}function Sb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;f=a+32|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)j=-1073741824;else j=k[(k[k[f>>2]>>2]|0)+(e<<2)>>2]|0}else{b=-1073741824;j=-1073741824}e=a+36|0;h=k[e>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;if(g-f>>2>>>0>b>>>0){i=f;e=h}else{Iq(h);e=k[e>>2]|0;i=k[h>>2]|0;f=k[e>>2]|0;g=k[e+4>>2]|0}t=k[i+(b<<2)>>2]|0;if(g-f>>2>>>0>j>>>0)b=f;else{Iq(e);b=k[e>>2]|0}b=k[b+(j<<2)>>2]|0;j=(t|0)<(d|0);do if(j&(b|0)<(d|0)){p=t<<1;n=k[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=k[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;m=b<<1;l=k[c+(m<<2)>>2]|0;m=k[c+((m|1)<<2)>>2]|0;if(!((l|0)!=(n|0)|(m|0)!=(p|0))){k[a+8>>2]=n;k[a+12>>2]=p;u=D;return}Mh(z,a,d);Mh(r,a,t);Mh(s,a,b);v=s;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;v=Wo(k[v>>2]|0,k[v+4>>2]|0,f|0,g|0)|0;w=M;x=s+8|0;i=r+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;x=Wo(k[x>>2]|0,k[x+4>>2]|0,h|0,i|0)|0;y=M;s=s+16|0;e=r+16|0;b=k[e>>2]|0;e=k[e+4>>2]|0;r=Wo(k[s>>2]|0,k[s+4>>2]|0,b|0,e|0)|0;s=M;B=io(v|0,w|0,v|0,w|0)|0;E=M;A=io(x|0,y|0,x|0,y|0)|0;E=Fp(A|0,M|0,B|0,E|0)|0;B=M;A=io(r|0,s|0,r|0,s|0)|0;A=Fp(E|0,B|0,A|0,M|0)|0;B=M;if((A|0)==0&(B|0)==0)break;I=z;I=Wo(k[I>>2]|0,k[I+4>>2]|0,f|0,g|0)|0;H=M;G=z+8|0;G=Wo(k[G>>2]|0,k[G+4>>2]|0,h|0,i|0)|0;F=M;f=z+16|0;f=Wo(k[f>>2]|0,k[f+4>>2]|0,b|0,e|0)|0;g=M;E=io(I|0,H|0,v|0,w|0)|0;j=M;i=io(G|0,F|0,x|0,y|0)|0;j=Fp(i|0,M|0,E|0,j|0)|0;E=M;i=io(f|0,g|0,r|0,s|0)|0;i=Fp(j|0,E|0,i|0,M|0)|0;E=M;l=Wo(l|0,((l|0)<0)<<31>>31|0,n|0,o|0)|0;j=M;t=Wo(m|0,((m|0)<0)<<31>>31|0,p|0,q|0)|0;d=M;n=io(A|0,B|0,n|0,o|0)|0;m=M;p=io(A|0,B|0,p|0,q|0)|0;o=M;c=io(i|0,E|0,l|0,j|0)|0;z=M;h=io(i|0,E|0,t|0,d|0)|0;b=M;m=Fp(c|0,z|0,n|0,m|0)|0;n=M;o=Fp(h|0,b|0,p|0,o|0)|0;p=M;b=io(i|0,E|0,v|0,w|0)|0;h=M;z=io(i|0,E|0,x|0,y|0)|0;c=M;E=io(i|0,E|0,r|0,s|0)|0;i=M;h=kl(b|0,h|0,A|0,B|0)|0;b=M;c=kl(z|0,c|0,A|0,B|0)|0;z=M;i=kl(E|0,i|0,A|0,B|0)|0;E=M;b=Wo(I|0,H|0,h|0,b|0)|0;h=M;z=Wo(G|0,F|0,c|0,z|0)|0;c=M;E=Wo(f|0,g|0,i|0,E|0)|0;i=M;h=io(b|0,h|0,b|0,h|0)|0;b=M;c=io(z|0,c|0,z|0,c|0)|0;b=Fp(c|0,M|0,h|0,b|0)|0;h=M;i=io(E|0,i|0,E|0,i|0)|0;i=Fp(b|0,h|0,i|0,M|0)|0;h=M;j=Wo(0,0,l|0,j|0)|0;l=M;h=io(i|0,h|0,A|0,B|0)|0;i=M;b=i&2147483647;switch(h|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;f=h;g=i;C=19}break}case 1:{if(!b){e=1;b=0;C=20}else{e=1;b=0;f=h;g=i;C=19}break}default:{e=1;b=0;f=h;g=i;C=19}}if((C|0)==19)while(1){e=No(e|0,b|0,1)|0;b=M;I=f;f=So(f|0,g|0,2)|0;if(!(g>>>0>0|(g|0)==0&I>>>0>7)){C=20;break}else{g=M;C=19}}if((C|0)==20)while(1){I=Bq(h|0,i|0,e|0,b|0)|0;e=Fp(I|0,M|0,e|0,b|0)|0;e=So(e|0,M|0,1)|0;b=M;I=io(e|0,b|0,e|0,b|0)|0;H=M;if(H>>>0>i>>>0|(H|0)==(i|0)&I>>>0>h>>>0)C=20;else break}E=io(e|0,b|0,t|0,d|0)|0;F=M;C=io(e|0,b|0,j|0,l|0)|0;G=M;H=a+20|0;c=(k[H>>2]|0)+-1|0;I=(1<<(c&31)&k[(k[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;k[H>>2]=c;H=Wo(0,0,E|0,F|0)|0;F=Fp(m|0,n|0,(I?E:H)|0,(I?F:M)|0)|0;H=M;E=Wo(0,0,C|0,G|0)|0;G=Fp(o|0,p|0,(I?C:E)|0,(I?G:M)|0)|0;I=M;H=kl(F|0,H|0,A|0,B|0)|0;I=kl(G|0,I|0,A|0,B|0)|0;k[a+8>>2]=H;k[a+12>>2]=I;u=D;return}while(0);do if(j)b=t<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}I=a+8|0;k[I>>2]=0;k[I+4>>2]=0;u=D;return}while(0);k[a+8>>2]=k[c+(b<<2)>>2];k[a+12>>2]=k[c+(b+1<<2)>>2];u=D;return}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=Pa,j=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Pa;A=u;u=u+48|0;d=A+24|0;z=A;e=Ld(a,b)|0;if(e|0){k[z>>2]=e;k[d>>2]=k[z>>2];Pg(a,d)|0}gm(z,b);e=z+12|0;k[e>>2]=0;y=z+16|0;k[y>>2]=0;k[z+20>>2]=0;f=c+4|0;b=(k[f>>2]|0)-(k[c>>2]|0)|0;if(b){if((b|0)<0)Jq(e);j=jo(b)|0;k[y>>2]=j;k[e>>2]=j;k[z+20>>2]=j+b;e=k[c>>2]|0;b=(k[f>>2]|0)-e|0;if((b|0)>0){Gh(j|0,e|0,b|0)|0;k[y>>2]=j+b}}else j=0;v=i[z+11>>0]|0;w=v<<24>>24<0;t=w?k[z>>2]|0:z;v=w?k[z+4>>2]|0:v&255;if(v>>>0>3){e=t;b=v;f=v;while(1){w=$(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,1540483477)|0;b=($(w>>>24^w,1540483477)|0)^($(b,1540483477)|0);f=f+-4|0;if(f>>>0<=3)break;else e=e+4|0}e=v+-4|0;f=e&-4;e=e-f|0;f=t+(f+4)|0}else{e=v;f=t;b=v}switch(e|0){case 3:{b=l[f+2>>0]<<16^b;x=13;break}case 2:{x=13;break}case 1:{x=14;break}default:{}}if((x|0)==13){b=l[f+1>>0]<<8^b;x=14}if((x|0)==14)b=$(l[f>>0]^b,1540483477)|0;w=$(b>>>13^b,1540483477)|0;w=w>>>15^w;q=a+4|0;r=k[q>>2]|0;s=(r|0)==0;a:do if(!s){p=r+-1|0;f=(p&r|0)==0;if(f)b=w&p;else b=(w>>>0)%(r>>>0)|0;e=k[(k[a>>2]|0)+(b<<2)>>2]|0;if((e|0)!=0?(n=k[e>>2]|0,(n|0)!=0):0){e=(v|0)==0;if(f){if(e){e=n;while(1){if((k[e+4>>2]&p|0)!=(b|0)){x=48;break a}v=i[e+8+11>>0]|0;if(!((v<<24>>24<0?k[e+12>>2]|0:v&255)|0)){d=j;break a}e=k[e>>2]|0;if(!e){x=48;break a}}}while(1){if((k[n+4>>2]&p|0)!=(b|0)){x=48;break a}e=n+8|0;f=i[e+11>>0]|0;c=f<<24>>24<0;f=f&255;do if(((c?k[n+12>>2]|0:f)|0)==(v|0)){m=k[e>>2]|0;if(c)if(!(lm(m,t,v)|0)){d=j;break a}else break;if((m&255)<<24>>24==(i[t>>0]|0)){c=t;do{f=f+-1|0;e=e+1|0;if(!f){d=j;break a}c=c+1|0}while((i[e>>0]|0)==(i[c>>0]|0))}}while(0);n=k[n>>2]|0;if(!n){x=48;break}}}else{if(e){e=n;while(1){if((((k[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(b|0)){x=48;break a}v=i[e+8+11>>0]|0;if(!((v<<24>>24<0?k[e+12>>2]|0:v&255)|0)){d=j;break a}e=k[e>>2]|0;if(!e){x=48;break a}}}while(1){if((((k[n+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(b|0)){x=48;break a}e=n+8|0;f=i[e+11>>0]|0;c=f<<24>>24<0;f=f&255;do if(((c?k[n+12>>2]|0:f)|0)==(v|0)){m=k[e>>2]|0;if(c)if(!(lm(m,t,v)|0)){d=j;break a}else break;if((m&255)<<24>>24==(i[t>>0]|0)){c=t;do{f=f+-1|0;e=e+1|0;if(!f){d=j;break a}c=c+1|0}while((i[e>>0]|0)==(i[c>>0]|0))}}while(0);n=k[n>>2]|0;if(!n){x=48;break}}}}else x=48}else{b=0;x=48}while(0);if((x|0)==48){Qi(d,a,w,z);c=a+12|0;g=da(((k[c>>2]|0)+1|0)>>>0);B=da(r>>>0);h=da(o[a+16>>2]);do if(s|g>da(B*h)){b=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~da(_(da(g/h)))>>>0;Ti(a,b>>>0>>0?e:b);b=k[q>>2]|0;e=b+-1|0;if(!(e&b)){j=b;b=e&w;break}else{j=b;b=(w>>>0)%(b>>>0)|0;break}}else j=r;while(0);e=k[(k[a>>2]|0)+(b<<2)>>2]|0;if(!e){f=a+8|0;k[k[d>>2]>>2]=k[f>>2];k[f>>2]=k[d>>2];k[(k[a>>2]|0)+(b<<2)>>2]=f;f=k[d>>2]|0;b=k[f>>2]|0;if(b){b=k[b+4>>2]|0;e=j+-1|0;if(!(e&j))b=b&e;else b=(b>>>0)%(j>>>0)|0;k[(k[a>>2]|0)+(b<<2)>>2]=f}}else{k[k[d>>2]>>2]=k[e>>2];k[e>>2]=k[d>>2]}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=0;d=k[z+12>>2]|0}if(!d){Jp(z);u=A;return}if((k[y>>2]|0)!=(d|0))k[y>>2]=d;_r(d);Jp(z);u=A;return}function Ub(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);j=k[(k[g>>2]|0)+28>>2]|0;i=k[j+(b<<2)>>2]|0;j=k[j+(f<<2)>>2]|0;b=a+36|0;g=k[b>>2]|0;f=k[g+4>>2]|0;e=k[g>>2]|0;if(f-e>>2>>>0>i>>>0){h=e;b=e;e=g}else{Iq(g);e=k[b>>2]|0;h=k[g>>2]|0;b=k[e>>2]|0;f=k[e+4>>2]|0}t=k[h+(i<<2)>>2]|0;if(f-b>>2>>>0<=j>>>0){Iq(e);b=k[e>>2]|0}b=k[b+(j<<2)>>2]|0;j=(t|0)<(d|0);do if(j&(b|0)<(d|0)){p=t<<1;n=k[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=k[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;m=b<<1;l=k[c+(m<<2)>>2]|0;m=k[c+((m|1)<<2)>>2]|0;if(!((l|0)!=(n|0)|(m|0)!=(p|0))){k[a+8>>2]=n;k[a+12>>2]=p;u=D;return}Mh(z,a,d);Mh(r,a,t);Mh(s,a,b);v=s;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;v=Wo(k[v>>2]|0,k[v+4>>2]|0,f|0,g|0)|0;w=M;x=s+8|0;i=r+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;x=Wo(k[x>>2]|0,k[x+4>>2]|0,h|0,i|0)|0;y=M;s=s+16|0;e=r+16|0;b=k[e>>2]|0;e=k[e+4>>2]|0;r=Wo(k[s>>2]|0,k[s+4>>2]|0,b|0,e|0)|0;s=M;B=io(v|0,w|0,v|0,w|0)|0;E=M;A=io(x|0,y|0,x|0,y|0)|0;E=Fp(A|0,M|0,B|0,E|0)|0;B=M;A=io(r|0,s|0,r|0,s|0)|0;A=Fp(E|0,B|0,A|0,M|0)|0;B=M;if((A|0)==0&(B|0)==0)break;I=z;I=Wo(k[I>>2]|0,k[I+4>>2]|0,f|0,g|0)|0;H=M;G=z+8|0;G=Wo(k[G>>2]|0,k[G+4>>2]|0,h|0,i|0)|0;F=M;f=z+16|0;f=Wo(k[f>>2]|0,k[f+4>>2]|0,b|0,e|0)|0;g=M;E=io(I|0,H|0,v|0,w|0)|0;j=M;i=io(G|0,F|0,x|0,y|0)|0;j=Fp(i|0,M|0,E|0,j|0)|0;E=M;i=io(f|0,g|0,r|0,s|0)|0;i=Fp(j|0,E|0,i|0,M|0)|0;E=M;l=Wo(l|0,((l|0)<0)<<31>>31|0,n|0,o|0)|0;j=M;t=Wo(m|0,((m|0)<0)<<31>>31|0,p|0,q|0)|0;d=M;n=io(A|0,B|0,n|0,o|0)|0;m=M;p=io(A|0,B|0,p|0,q|0)|0;o=M;c=io(i|0,E|0,l|0,j|0)|0;z=M;h=io(i|0,E|0,t|0,d|0)|0;b=M;m=Fp(c|0,z|0,n|0,m|0)|0;n=M;o=Fp(h|0,b|0,p|0,o|0)|0;p=M;b=io(i|0,E|0,v|0,w|0)|0;h=M;z=io(i|0,E|0,x|0,y|0)|0;c=M;E=io(i|0,E|0,r|0,s|0)|0;i=M;h=kl(b|0,h|0,A|0,B|0)|0;b=M;c=kl(z|0,c|0,A|0,B|0)|0;z=M;i=kl(E|0,i|0,A|0,B|0)|0;E=M;b=Wo(I|0,H|0,h|0,b|0)|0;h=M;z=Wo(G|0,F|0,c|0,z|0)|0;c=M;E=Wo(f|0,g|0,i|0,E|0)|0;i=M;h=io(b|0,h|0,b|0,h|0)|0;b=M;c=io(z|0,c|0,z|0,c|0)|0;b=Fp(c|0,M|0,h|0,b|0)|0;h=M;i=io(E|0,i|0,E|0,i|0)|0;i=Fp(b|0,h|0,i|0,M|0)|0;h=M;j=Wo(0,0,l|0,j|0)|0;l=M;h=io(i|0,h|0,A|0,B|0)|0;i=M;b=i&2147483647;switch(h|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;f=h;g=i;C=18}break}case 1:{if(!b){e=1;b=0;C=19}else{e=1;b=0;f=h;g=i;C=18}break}default:{e=1;b=0;f=h;g=i;C=18}}if((C|0)==18)while(1){e=No(e|0,b|0,1)|0;b=M;I=f;f=So(f|0,g|0,2)|0;if(!(g>>>0>0|(g|0)==0&I>>>0>7)){C=19;break}else{g=M;C=18}}if((C|0)==19)while(1){I=Bq(h|0,i|0,e|0,b|0)|0;e=Fp(I|0,M|0,e|0,b|0)|0;e=So(e|0,M|0,1)|0;b=M;I=io(e|0,b|0,e|0,b|0)|0;H=M;if(H>>>0>i>>>0|(H|0)==(i|0)&I>>>0>h>>>0)C=19;else break}E=io(e|0,b|0,t|0,d|0)|0;F=M;C=io(e|0,b|0,j|0,l|0)|0;G=M;H=a+20|0;c=(k[H>>2]|0)+-1|0;I=(1<<(c&31)&k[(k[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;k[H>>2]=c;H=Wo(0,0,E|0,F|0)|0;F=Fp(m|0,n|0,(I?E:H)|0,(I?F:M)|0)|0;H=M;E=Wo(0,0,C|0,G|0)|0;G=Fp(o|0,p|0,(I?C:E)|0,(I?G:M)|0)|0;I=M;H=kl(F|0,H|0,A|0,B|0)|0;I=kl(G|0,I|0,A|0,B|0)|0;k[a+8>>2]=H;k[a+12>>2]=I;u=D;return}while(0);do if(j)b=t<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}I=a+8|0;k[I>>2]=0;k[I+4>>2]=0;u=D;return}while(0);k[a+8>>2]=k[c+(b<<2)>>2];k[a+12>>2]=k[c+(b+1<<2)>>2];u=D;return}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=Pa,q=Pa,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Pa;T=u;u=u+48|0;S=T+28|0;L=T+8|0;N=T;R=T+16|0;O=S+16|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;o[O>>2]=da(1.0);Q=a+80|0;xl(R,k[Q>>2]|0);e=k[Q>>2]|0;if((e|0)>0){C=k[c>>2]|0;D=b+48|0;E=b+40|0;F=S+4|0;G=S+12|0;H=S+8|0;I=a+40|0;J=a+64|0;B=0;z=0;while(1){w=C+B|0;y=D;x=k[y>>2]|0;y=k[y+4>>2]|0;c=E;c=io(w|0,((w|0)<0)<<31>>31|0,k[c>>2]|0,k[c+4>>2]|0)|0;y=Fp(c|0,M|0,x|0,y|0)|0;y=(k[k[b>>2]>>2]|0)+y|0;x=y;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=y+4|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;c=L;k[c>>2]=x;k[c+4>>2]=y;c=N;k[c>>2]=x;k[c+4>>2]=y;c=Zg(S,N)|0;if(!c){t=N;s=k[t>>2]|0;t=k[t+4>>2]|0;h=s&65535;y=So(s|0,t|0,16)|0;m=y&65535;n=t&65535;v=So(s|0,t|0,48)|0;w=M;r=v&65535;y=((((h^318)&65535)+239^y&65535)+239^t&65535)+239^v;e=k[F>>2]|0;x=(e|0)==0;a:do if(!x){g=e+-1|0;d=(g&e|0)==0;if(d)c=y&g;else c=(y>>>0)%(e>>>0)|0;f=k[(k[S>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(K=k[f>>2]|0,(K|0)!=0):0)if(d){d=K;while(1){if((k[d+4>>2]&g|0)!=(c|0)){A=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==n<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0)break a;d=k[d>>2]|0;if(!d){A=25;break}}}else{d=K;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){A=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==n<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0)break a;d=k[d>>2]|0;if(!d){A=25;break}}}else A=25}else{c=0;A=25}while(0);if((A|0)==25){A=0;f=jo(20)|0;v=No(v|0,w|0,48)|0;s=s|v;v=t&65535|M;w=f+8|0;t=w;j[t>>1]=s;j[t+2>>1]=s>>>16;w=w+4|0;j[w>>1]=v;j[w+2>>1]=v>>>16;k[f+16>>2]=z;k[f+4>>2]=y;k[f>>2]=0;p=da(((k[G>>2]|0)+1|0)>>>0);U=da(e>>>0);q=da(o[O>>2]);do if(x|p>da(U*q)){c=(e>>>0<3|(e+-1&e|0)!=0)&1|e<<1;d=~~da(_(da(p/q)))>>>0;Di(S,c>>>0>>0?d:c);c=k[F>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&y;break}else{e=c;c=(y>>>0)%(c>>>0)|0;break}}while(0);d=(k[S>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[H>>2];k[H>>2]=f;k[d>>2]=H;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[S>>2]|0)+(c<<2)|0;A=36}}else{k[f>>2]=k[c>>2];A=36}if((A|0)==36){A=0;k[c>>2]=f}k[G>>2]=(k[G>>2]|0)+1}y=I;c=k[y>>2]|0;y=io(c|0,k[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Gh((k[k[J>>2]>>2]|0)+y|0,L|0,c|0)|0;k[(k[R>>2]|0)+(B<<2)>>2]=z;c=z+1|0}else{k[(k[R>>2]|0)+(B<<2)>>2]=k[c+16>>2];c=z}B=B+1|0;e=k[Q>>2]|0;if((B|0)>=(e|0)){n=c;break}else z=c}}else n=0;if((n|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[R>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(P=g+(e<<2)|0,(h|0)!=(P|0)):0)k[d>>2]=h+(~((h+-4-P|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[Q>>2]|0}if((e|0)>0){f=k[R>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[Q>>2]=n}e=k[R>>2]|0;if(e|0){c=R+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[S+8>>2]|0;if(c|0)do{R=c;c=k[c>>2]|0;_r(R)}while((c|0)!=0);c=k[S>>2]|0;k[S>>2]=0;if(!c){u=T;return n|0}_r(c);u=T;return n|0}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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;A=C+8|0;B=C+4|0;z=C;x=a+4|0;do if((l[(k[x>>2]|0)+36>>0]<<8&65535)<512){t=b+8|0;v=k[t>>2]|0;t=k[t+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((t|0)<(f|0)|(t|0)==(f|0)&v>>>0>>0){B=-1;u=C;return B|0}else{v=(k[b>>2]|0)+d|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;k[w>>2]=v;k[c>>2]=e;k[c+4>>2]=f;c=v;break}}else if(sk(w,b)|0){c=k[w>>2]|0;break}else{B=-1;u=C;return B|0}while(0);a:do if(c|0){v=k[x>>2]|0;if(((l[v+36>>0]<<8|l[v+37>>0])&65535)<=257){o=b+8|0;p=b+16|0;q=A+4|0;r=A+8|0;s=a+40|0;t=a+44|0;v=a+36|0;n=0;while(1){g=o;f=k[g>>2]|0;g=k[g+4>>2]|0;j=p;h=k[j>>2]|0;j=k[j+4>>2]|0;d=Fp(h|0,j|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)break;m=k[b>>2]|0;D=m+h|0;k[A>>2]=l[D>>0]|l[D+1>>0]<<8|l[D+2>>0]<<16|l[D+3>>0]<<24;D=p;k[D>>2]=d;k[D+4>>2]=e;e=Fp(h|0,j|0,8,0)|0;D=M;if((g|0)<(D|0)|(g|0)==(D|0)&f>>>0>>0)break;d=m+d|0;k[q>>2]=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;d=Fp(h|0,j|0,8,0)|0;D=M;e=p;k[e>>2]=d;k[e+4>>2]=D;if(!((g|0)>(D|0)|(g|0)==(D|0)&f>>>0>d>>>0))break;d=i[m+d>>0]|0;m=Fp(h|0,j|0,9,0)|0;D=p;k[D>>2]=m;k[D+4>>2]=M;i[r>>0]=d&3|i[r>>0]&-4;d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){jj(v,A);c=k[w>>2]|0}else{k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];k[d+8>>2]=k[A+8>>2];k[s>>2]=(k[s>>2]|0)+12}n=n+1|0;if(n>>>0>=c>>>0)break a}D=-1;u=C;return D|0}e=A+4|0;f=a+40|0;g=a+44|0;h=a+36|0;c=0;d=0;do{sk(B,b)|0;k[e>>2]=(k[B>>2]|0)+d;sk(B,b)|0;d=k[e>>2]|0;k[A>>2]=d-(k[B>>2]|0);j=k[f>>2]|0;if((j|0)==(k[g>>2]|0))jj(h,A);else{k[j>>2]=k[A>>2];k[j+4>>2]=k[A+4>>2];k[j+8>>2]=k[A+8>>2];k[f>>2]=(k[f>>2]|0)+12}c=c+1|0}while(c>>>0<(k[w>>2]|0)>>>0);Sh(b,0,0)|0;j=k[w>>2]|0;if(j|0){m=b+36|0;n=a+36|0;o=b+32|0;p=b+24|0;q=b+28|0;h=0;c=0;do{if(i[m>>0]|0){d=k[o>>2]|0;e=k[p>>2]|0;g=k[q>>2]|0;c=e+(d>>>3)|0;if(c>>>0>>0){f=(l[c>>0]|0)>>>(d&7)&1;d=d+1|0;k[o>>2]=d}else f=0;c=e+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7)&1;k[o>>2]=d+1}else c=0;c=c<<1|f}D=(k[n>>2]|0)+(h*12|0)+8|0;i[D>>0]=c&3|i[D>>0]&-4;h=h+1|0}while(h>>>0>>0)}bn(b)}while(0);if((l[(k[x>>2]|0)+36>>0]<<8&65535)<512){w=b+8|0;D=k[w>>2]|0;w=k[w+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((w|0)<(f|0)|(w|0)==(f|0)&D>>>0>>0)c=-1;else{y=(k[b>>2]|0)+d|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;k[A>>2]=y;k[c>>2]=e;k[c+4>>2]=f;c=y;y=35}}else if(sk(A,b)|0){c=k[A>>2]|0;y=35}else c=-1;b:do if((y|0)==35){c:do if(c|0){D=k[x>>2]|0;if(((l[D+36>>0]<<8|l[D+37>>0])&65535)>257){g=a+52|0;h=a+56|0;e=a+48|0;c=0;d=0;while(1){k[B>>2]=0;sk(z,b)|0;d=(k[z>>2]|0)+d|0;k[B>>2]=d;f=k[g>>2]|0;if((f|0)==(k[h>>2]|0))Dj(e,B);else{k[f>>2]=d;k[g>>2]=f+4}c=c+1|0;if(c>>>0>=(k[A>>2]|0)>>>0)break c}}j=b+8|0;m=b+16|0;n=a+52|0;o=a+56|0;h=a+48|0;g=0;while(1){k[B>>2]=0;z=j;D=k[z>>2]|0;z=k[z+4>>2]|0;d=m;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((z|0)<(e|0)|(z|0)==(e|0)&D>>>0>>0)break;f=(k[b>>2]|0)+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;k[B>>2]=f;c=m;k[c>>2]=d;k[c+4>>2]=e;c=k[n>>2]|0;if((c|0)==(k[o>>2]|0))Dj(h,B);else{k[c>>2]=f;k[n>>2]=c+4}g=g+1|0;if(g>>>0>=(k[A>>2]|0)>>>0)break c}c=-1;break b}while(0);c=k[b+16>>2]|0}while(0);D=c;u=C;return D|0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,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+144|0;w=A+72|0;v=A+8|0;t=A+40|0;x=A;y=a+4|0;q=k[y>>2]|0;c=k[q+32>>2]|0;j=c+8|0;h=k[j>>2]|0;j=k[j+4>>2]|0;m=c+16|0;o=m;n=k[o>>2]|0;o=k[o+4>>2]|0;if(!((j|0)>(o|0)|(j|0)==(o|0)&h>>>0>n>>>0)){z=0;u=A;return z|0}g=k[c>>2]|0;r=i[g+n>>0]|0;c=Fp(n|0,o|0,1,0)|0;p=M;f=m;k[f>>2]=c;k[f+4>>2]=p;if(!((j|0)>(p|0)|(j|0)==(p|0)&h>>>0>c>>>0)){z=0;u=A;return z|0}p=i[g+c>>0]|0;c=Fp(n|0,o|0,2,0)|0;d=M;f=m;k[f>>2]=c;k[f+4>>2]=d;do if(r<<24>>24>-1){e=r<<24>>24;f=k[a+228>>2]|0;if(e>>>0<(((k[a+232>>2]|0)-f|0)/116|0)>>>0){k[f+(e*116|0)>>2]=b;break}else{z=0;u=A;return z|0}}while(0);do if((((l[q+36>>0]|0)<<8|(l[q+37>>0]|0))&65535)>257)if((j|0)>(d|0)|(j|0)==(d|0)&h>>>0>c>>>0){d=i[g+c>>0]|0;n=Fp(n|0,o|0,3,0)|0;o=m;k[o>>2]=n;k[o+4>>2]=M;d=d&255;break}else{z=0;u=A;return z|0}else d=0;while(0);n=k[q+44>>2]|0;if(!(p<<24>>24)){if(r<<24>>24<0)c=a+200|0;else{c=r<<24>>24;w=k[a+228>>2]|0;i[w+(c*116|0)+72>>0]=0;c=w+(c*116|0)+76|0}switch((d&255)<<24>>24){case 0:{c=Zd(a,c)|0;break}case 1:{c=Sf(a,c)|0;break}default:{z=0;u=A;return z|0}}if(!c){z=0;u=A;return z|0}}else{if(d|0){z=0;u=A;return z|0}g=r<<24>>24;if(r<<24>>24<0){z=0;u=A;return z|0}c=jo(88)|0;f=k[a+228>>2]|0;h=f+(g*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4316;j=c+12|0;k[j>>2]=4340;m=c+64|0;k[m>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;d=c+16|0;e=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[c+76>>2]=n;k[c+80>>2]=h;k[c+84>>2]=0;p=w+4|0;k[p>>2]=4340;o=w+56|0;k[o>>2]=0;q=w+60|0;k[q>>2]=0;k[w+64>>2]=0;d=w+8|0;e=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=f+(g*116|0)+4|0;k[v>>2]=4340;d=v+4|0;a=d+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[d>>2]=e;f=k[f+(g*116|0)+68>>2]|0;f=((k[f+4>>2]|0)-(k[f>>2]|0)>>2>>>0)/3|0;i[s>>0]=0;Qh(v+8|0,f,s);Ta[k[(k[v>>2]|0)+8>>2]&127](v);Bg(t,v);Bg(s,t);k[w>>2]=k[s+4>>2];f=w+4|0;gh(f,s)|0;k[s>>2]=4340;d=k[s+20>>2]|0;if(d|0)_r(d);d=k[s+8>>2]|0;if(d|0)_r(d);k[w+36>>2]=e;k[w+40>>2]=h;k[w+44>>2]=n;k[w+48>>2]=c;k[t>>2]=4340;d=k[t+20>>2]|0;if(d|0)_r(d);d=k[t+8>>2]|0;if(d|0)_r(d);k[c+8>>2]=k[w>>2];gh(j,f)|0;d=c+44|0;t=w+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Gg(m,k[o>>2]|0,k[q>>2]|0);k[v>>2]=4340;d=k[v+20>>2]|0;if(d|0)_r(d);d=k[v+8>>2]|0;if(d|0)_r(d);d=k[o>>2]|0;if(d|0){e=k[q>>2]|0;if((e|0)!=(d|0))k[q>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d)}k[p>>2]=4340;d=k[w+24>>2]|0;if(d|0)_r(d);d=k[w+12>>2]|0;if(d|0)_r(d)}j=jo(64)|0;k[x>>2]=c;km(j,x);c=k[x>>2]|0;k[x>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);h=k[y>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){bh(g,f-e|0);break}if(f>>>0>>0?(z=d+(f<<2)|0,(c|0)!=(z|0)):0)do{y=c+-4|0;k[h>>2]=y;c=k[y>>2]|0;k[y>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(z|0))}while(0);z=(k[g>>2]|0)+(b<<2)|0;c=k[z>>2]|0;k[z>>2]=j;if(!c){z=1;u=A;return z|0}Ta[k[(k[c>>2]|0)+4>>2]&127](c);z=1;u=A;return z|0}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=Pa,p=Pa,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=Pa;S=u;u=u+48|0;R=S+20|0;K=S+16|0;L=S+12|0;Q=S;N=R+16|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;o[N>>2]=da(1.0);P=a+80|0;xl(Q,k[P>>2]|0);e=k[P>>2]|0;if((e|0)>0){B=k[c>>2]|0;C=b+48|0;D=b+40|0;E=R+4|0;F=R+12|0;G=R+8|0;H=a+40|0;I=a+64|0;A=0;y=0;while(1){v=B+A|0;c=C;x=k[c>>2]|0;c=k[c+4>>2]|0;w=D;w=io(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;c=Fp(w|0,M|0,x|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;k[K>>2]=c;k[L>>2]=c;c=_g(R,L)|0;if(!c){s=k[L>>2]|0;h=s&255;t=s>>>8;j=t&255;v=s>>>16;m=v&255;r=s>>>24;q=r&255;s=s&255;t=t&255;v=v&255;x=(((s^318)+239^t)+239^v)+239^r;e=k[E>>2]|0;w=(e|0)==0;a:do if(!w){g=e+-1|0;d=(g&e|0)==0;if(d)c=x&g;else c=(x>>>0)%(e>>>0)|0;f=k[(k[R>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(J=k[f>>2]|0,(J|0)!=0):0)if(d){d=J;while(1){if((k[d+4>>2]&g|0)!=(c|0)){z=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==m<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){z=25;break}}}else{d=J;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){z=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==m<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){z=25;break}}}else z=25}else{c=0;z=25}while(0);if((z|0)==25){z=0;f=jo(16)|0;q=f+8|0;v=r<<24|s|v<<16|t<<8;i[q>>0]=v;i[q+1>>0]=v>>8;i[q+2>>0]=v>>16;i[q+3>>0]=v>>24;k[f+12>>2]=y;k[f+4>>2]=x;k[f>>2]=0;n=da(((k[F>>2]|0)+1|0)>>>0);T=da(e>>>0);p=da(o[N>>2]);do if(w|n>da(T*p)){c=(e>>>0<3|(e+-1&e|0)!=0)&1|e<<1;d=~~da(_(da(n/p)))>>>0;Ki(R,c>>>0>>0?d:c);c=k[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&x;break}else{e=c;c=(x>>>0)%(c>>>0)|0;break}}while(0);d=(k[R>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[G>>2];k[G>>2]=f;k[d>>2]=G;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[R>>2]|0)+(c<<2)|0;z=36}}else{k[f>>2]=k[c>>2];z=36}if((z|0)==36){z=0;k[c>>2]=f}k[F>>2]=(k[F>>2]|0)+1}x=H;c=k[x>>2]|0;x=io(c|0,k[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Gh((k[k[I>>2]>>2]|0)+x|0,K|0,c|0)|0;k[(k[Q>>2]|0)+(A<<2)>>2]=y;c=y+1|0}else{k[(k[Q>>2]|0)+(A<<2)>>2]=k[c+12>>2];c=y}A=A+1|0;e=k[P>>2]|0;if((A|0)>=(e|0)){m=c;break}else y=c}}else m=0;if((m|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[Q>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(O=g+(e<<2)|0,(h|0)!=(O|0)):0)k[d>>2]=h+(~((h+-4-O|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[P>>2]|0}if((e|0)>0){f=k[Q>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[P>>2]=m}e=k[Q>>2]|0;if(e|0){c=Q+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[R+8>>2]|0;if(c|0)do{Q=c;c=k[c>>2]|0;_r(Q)}while((c|0)!=0);c=k[R>>2]|0;k[R>>2]=0;if(!c){u=S;return m|0}_r(c);u=S;return m|0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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;v=D+72|0;f=D+64|0;w=D+56|0;x=D+48|0;y=D+40|0;z=D+32|0;A=D+24|0;B=D+8|0;t=D;d=_a[k[(k[a>>2]|0)+20>>2]&127](a,0)|0;a=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+4|0;a=k[a>>2]|0;if((d|0)<=-1)Ka(20132,20148,63,20247);c=k[a+8>>2]|0;if(((k[a+12>>2]|0)-c>>2|0)<=(d|0))Ka(20257,20148,64,20247);a=k[c+(d<<2)>>2]|0;i[a+84>>0]=1;c=k[a+68>>2]|0;d=a+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;h=n;g=k[h>>2]|0;h=k[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&j>>>0>g>>>0)){C=0;u=D;return C|0}o=k[b>>2]|0;e=i[o+g>>0]|0;c=Fp(g|0,h|0,1,0)|0;d=M;E=n;k[E>>2]=c;k[E+4>>2]=d;switch(e<<24>>24){case 0:{if(((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0?(p=Fp(g|0,h|0,2,0)|0,q=n,k[q>>2]=p,k[q+4>>2]=M,q=Fp(g|0,h|0,6,0)|0,r=M,!((m|0)<(r|0)|(m|0)==(r|0)&j>>>0>>0)):0)?(E=o+p|0,E=l[E>>0]|l[E+1>>0]<<8|l[E+2>>0]<<16|l[E+3>>0]<<24,B=n,k[B>>2]=q,k[B+4>>2]=r,jk(a,E)|0,Bp(v),k[f>>2]=a,k[f+4>>2]=0,k[C>>2]=k[f>>2],k[C+4>>2]=k[f+4>>2],tf(v,b,C)|0):0){E=1;u=D;return E|0}E=0;u=D;return E|0}case 1:{a:do if((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0){f=i[o+c>>0]|0;e=Fp(g|0,h|0,2,0)|0;E=n;k[E>>2]=e;k[E+4>>2]=M;if((f&255)>6){k[s>>2]=f&255;Ho(6150,s)|0;break}c=Fp(g|0,h|0,6,0)|0;d=M;if(!((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0)){E=o+e|0;E=l[E>>0]|l[E+1>>0]<<8|l[E+2>>0]<<16|l[E+3>>0]<<24;s=n;k[s>>2]=c;k[s+4>>2]=d;jk(a,E)|0;switch(f<<24>>24){case 0:{Vi(v,3);k[w>>2]=a;k[w+4>>2]=0;k[C>>2]=k[w>>2];k[C+4>>2]=k[w+4>>2];E=Nf(v,b,C)|0;Ng(v);if(E)a=1;else break a;u=D;return a|0}case 1:{Vi(v,3);k[x>>2]=a;k[x+4>>2]=0;k[C>>2]=k[x>>2];k[C+4>>2]=k[x+4>>2];E=Mf(v,b,C)|0;Ng(v);if(E)a=1;else break a;u=D;return a|0}case 2:{Yi(v,3);k[y>>2]=a;k[y+4>>2]=0;k[C>>2]=k[y>>2];k[C+4>>2]=k[y+4>>2];E=Pf(v,b,C)|0;Qg(v);if(E)a=1;else break a;u=D;return a|0}case 3:{Yi(v,3);k[z>>2]=a;k[z+4>>2]=0;k[C>>2]=k[z>>2];k[C+4>>2]=k[z+4>>2];E=Of(v,b,C)|0;Qg(v);if(E)a=1;else break a;u=D;return a|0}case 4:{Ci(v,3);k[A>>2]=a;k[A+4>>2]=0;k[C>>2]=k[A>>2];k[C+4>>2]=k[A+4>>2];E=nf(v,b,C)|0;Ag(v);if(E)a=1;else break a;u=D;return a|0}case 5:{Ci(v,3);k[B>>2]=a;k[B+4>>2]=0;k[C>>2]=k[B>>2];k[C+4>>2]=k[B+4>>2];E=mf(v,b,C)|0;Ag(v);if(E)a=1;else break a;u=D;return a|0}case 6:{Ci(v,3);k[t>>2]=a;k[t+4>>2]=0;k[C>>2]=k[t>>2];k[C+4>>2]=k[t+4>>2];E=lf(v,b,C)|0;Ag(v);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 _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=Pa,p=Pa,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=Pa;J=u;u=u+48|0;I=J+12|0;D=J+32|0;H=J;E=I+16|0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[I+12>>2]=0;o[E>>2]=da(1.0);G=a+80|0;xl(H,k[G>>2]|0);e=k[G>>2]|0;a:do if((e|0)>0){w=b+48|0;x=b+40|0;y=I+4|0;z=I+12|0;A=I+8|0;B=a+40|0;C=a+64|0;v=k[c>>2]|0;h=0;t=0;s=0;while(1){f=v+t|0;m=w;q=k[m>>2]|0;m=k[m+4>>2]|0;g=x;g=io(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;m=Fp(g|0,M|0,q|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[D>>1]=m;q=(m^318)&65535;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&q;else d=(q>>>0)%(h>>>0)|0;e=k[I>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);k[(k[H>>2]|0)+(t<<2)>>2]=k[c+12>>2];d=s;break b}while(0);if(f)c=g&q;else c=(q>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;r=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;r=28;break b}if((j[d+8>>1]|0)==m<<16>>16){r=41;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;r=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;r=28;break b}if((j[d+8>>1]|0)==m<<16>>16){r=41;break}}else{d=h;e=0;r=28}}else{c=0;d=0;e=1;r=28}while(0);if((r|0)==28){r=0;f=jo(16)|0;j[f+8>>1]=m;k[f+12>>2]=s;k[f+4>>2]=q;k[f>>2]=0;n=da(((k[z>>2]|0)+1|0)>>>0);K=da(d>>>0);p=da(o[E>>2]);do if(e|n>da(K*p)){c=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;d=~~da(_(da(n/p)))>>>0;Gi(I,c>>>0>>0?d:c);c=k[y>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&q;break}else{e=c;c=(q>>>0)%(c>>>0)|0;break}}else e=d;while(0);d=(k[I>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[A>>2];k[A>>2]=f;k[d>>2]=A;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[I>>2]|0)+(c<<2)|0;r=39}}else{k[f>>2]=k[c>>2];r=39}if((r|0)==39)k[c>>2]=f;k[z>>2]=(k[z>>2]|0)+1;r=41}if((r|0)==41){r=0;q=B;d=k[q>>2]|0;q=io(d|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Gh((k[k[C>>2]>>2]|0)+q|0,D|0,d|0)|0;k[(k[H>>2]|0)+(t<<2)>>2]=s;d=s+1|0}c=t+1|0;e=k[G>>2]|0;if((c|0)>=(e|0)){q=d;break a}h=k[y>>2]|0;t=c;s=d}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[H>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[d>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=q}e=k[H>>2]|0;if(e|0){c=H+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[I+8>>2]|0;if(c|0)do{H=c;c=k[c>>2]|0;_r(H)}while((c|0)!=0);c=k[I>>2]|0;k[I>>2]=0;if(!c){u=J;return q|0}_r(c);u=J;return q|0}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0,j=Pa,m=Pa,n=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(k[s>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,da(o[s>>2]));e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=e;g=(k[s>>2]=f,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=c+16|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];m=da(o[s>>2]);h=f+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);f=f+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+8|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+16|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=c+24|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}h=b+d|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];n=da(o[s>>2]);f=h+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=h+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);h=h+12|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];m=da(o[s>>2]);h=+O(+n)>=1.0?(+n>0.0?~~+aa(+N(+n/4294967296.0),4294967295.0)>>>0:~~+_((+n-+(~~+n>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+n>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+16|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c+24|0;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=Pa,n=Pa,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Pa;I=u;u=u+48|0;H=I+16|0;C=I+12|0;G=I;D=H+16|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[D>>2]=da(1.0);F=a+80|0;xl(G,k[F>>2]|0);e=k[F>>2]|0;a:do if((e|0)>0){v=b+48|0;w=b+40|0;x=H+4|0;y=H+12|0;z=H+8|0;A=a+40|0;B=a+64|0;t=k[c>>2]|0;h=0;s=0;r=0;while(1){f=t+s|0;j=v;p=k[j>>2]|0;j=k[j+4>>2]|0;g=w;g=io(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=Fp(g|0,M|0,p|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[C>>2]=j;p=j^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&p;else d=(p>>>0)%(h>>>0)|0;e=k[H>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));k[(k[G>>2]|0)+(s<<2)>>2]=k[c+12>>2];d=r;break b}while(0);if(f)c=g&p;else c=(p>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;q=28;break b}if((k[d+8>>2]|0)==(j|0)){q=41;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;q=28;break b}if((k[d+8>>2]|0)==(j|0)){q=41;break}}else{d=h;e=0;q=28}}else{c=0;d=0;e=1;q=28}while(0);if((q|0)==28){q=0;f=jo(16)|0;k[f+8>>2]=j;k[f+12>>2]=r;k[f+4>>2]=p;k[f>>2]=0;m=da(((k[y>>2]|0)+1|0)>>>0);J=da(d>>>0);n=da(o[D>>2]);do if(e|m>da(J*n)){c=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;d=~~da(_(da(m/n)))>>>0;fj(H,c>>>0>>0?d:c);c=k[x>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&p;break}else{e=c;c=(p>>>0)%(c>>>0)|0;break}}else e=d;while(0);d=(k[H>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[z>>2];k[z>>2]=f;k[d>>2]=z;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[H>>2]|0)+(c<<2)|0;q=39}}else{k[f>>2]=k[c>>2];q=39}if((q|0)==39)k[c>>2]=f;k[y>>2]=(k[y>>2]|0)+1;q=41}if((q|0)==41){q=0;p=A;d=k[p>>2]|0;p=io(d|0,k[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Gh((k[k[B>>2]>>2]|0)+p|0,C|0,d|0)|0;k[(k[G>>2]|0)+(s<<2)>>2]=r;d=r+1|0}c=s+1|0;e=k[F>>2]|0;if((c|0)>=(e|0)){p=d;break a}h=k[x>>2]|0;s=c;r=d}}else p=0;while(0);if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[G>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(E=g+(e<<2)|0,(h|0)!=(E|0)):0)k[d>>2]=h+(~((h+-4-E|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[F>>2]|0}if((e|0)>0){f=k[G>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[F>>2]=p}e=k[G>>2]|0;if(e|0){c=G+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[H+8>>2]|0;if(c|0)do{G=c;c=k[c>>2]|0;_r(G)}while((c|0)!=0);c=k[H>>2]|0;k[H>>2]=0;if(!c){u=I;return p|0}_r(c);u=I;return p|0}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=Pa;Q=u;u=u+80|0;P=Q+48|0;I=Q+32|0;J=Q+16|0;O=Q;K=P+16|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;o[K>>2]=da(1.0);N=a+80|0;xl(O,k[N>>2]|0);e=k[N>>2]|0;if((e|0)>0){z=k[c>>2]|0;A=b+48|0;B=b+40|0;w=J+4|0;x=J+8|0;y=J+12|0;C=P+4|0;D=P+12|0;E=P+8|0;F=a+40|0;G=a+64|0;s=0;v=0;while(1){e=z+v|0;c=A;d=k[c>>2]|0;c=k[c+4>>2]|0;f=B;e=io(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c=Fp(e|0,M|0,d|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;d=I;e=c;f=d+16|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));mn(J|0,c|0,16)|0;c=ch(P,J)|0;if(!c){g=k[J>>2]|0;h=k[w>>2]|0;j=k[x>>2]|0;l=k[y>>2]|0;r=(((g^318)+239^h)+239^j)+239^l;p=k[C>>2]|0;q=(p|0)==0;a:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)c=r&f;else c=(r>>>0)%(p>>>0)|0;e=k[(k[P>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(H=k[e>>2]|0,(H|0)!=0):0)if(d){d=H;while(1){if((k[d+4>>2]&f|0)!=(c|0)){t=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){t=25;break}}}else{d=H;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(c|0)){t=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){t=25;break}}}else t=25}else{c=0;t=25}while(0);if((t|0)==25){t=0;f=jo(28)|0;k[f+8>>2]=g;k[f+12>>2]=h;k[f+16>>2]=j;k[f+20>>2]=l;k[f+24>>2]=s;k[f+4>>2]=r;k[f>>2]=0;m=da(((k[D>>2]|0)+1|0)>>>0);R=da(p>>>0);n=da(o[K>>2]);do if(q|m>da(R*n)){c=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;d=~~da(_(da(m/n)))>>>0;Hi(P,c>>>0>>0?d:c);c=k[C>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&r;break}else{e=c;c=(r>>>0)%(c>>>0)|0;break}}else e=p;while(0);d=(k[P>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[E>>2];k[E>>2]=f;k[d>>2]=E;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[P>>2]|0)+(c<<2)|0;t=36}}else{k[f>>2]=k[c>>2];t=36}if((t|0)==36){t=0;k[c>>2]=f}k[D>>2]=(k[D>>2]|0)+1}r=F;c=k[r>>2]|0;r=io(c|0,k[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Gh((k[k[G>>2]>>2]|0)+r|0,I|0,c|0)|0;k[(k[O>>2]|0)+(v<<2)>>2]=s;c=s+1|0}else{k[(k[O>>2]|0)+(v<<2)>>2]=k[c+24>>2];c=s}v=v+1|0;e=k[N>>2]|0;if((v|0)>=(e|0)){l=c;break}else s=c}}else l=0;if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[O>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(L=g+(e<<2)|0,(h|0)!=(L|0)):0)k[d>>2]=h+(~((h+-4-L|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[N>>2]|0}if((e|0)>0){f=k[O>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[N>>2]=l}e=k[O>>2]|0;if(e|0){c=O+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[P+8>>2]|0;if(c|0)do{O=c;c=k[c>>2]|0;_r(O)}while((c|0)!=0);c=k[P>>2]|0;k[P>>2]=0;if(!c){u=Q;return l|0}_r(c);u=Q;return l|0}function cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=Pa,m=Pa,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Pa;H=u;u=u+48|0;G=H+12|0;B=H+32|0;F=H;C=G+16|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[C>>2]=da(1.0);E=a+80|0;xl(F,k[E>>2]|0);e=k[E>>2]|0;a:do if((e|0)>0){t=b+48|0;v=b+40|0;w=G+4|0;x=G+12|0;y=G+8|0;z=a+40|0;A=a+64|0;s=k[c>>2]|0;h=0;r=0;q=0;while(1){f=s+r|0;j=t;n=k[j>>2]|0;j=k[j+4>>2]|0;g=v;g=io(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=Fp(g|0,M|0,n|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[B>>0]=j;n=j&255^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&n;else d=(n>>>0)%(h>>>0)|0;e=k[G>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);k[(k[F>>2]|0)+(r<<2)>>2]=k[c+12>>2];d=q;break b}while(0);if(f)c=g&n;else c=(n>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;p=28;break b}if((i[d+8>>0]|0)==j<<24>>24){p=41;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;p=28;break b}if((i[d+8>>0]|0)==j<<24>>24){p=41;break}}else{d=h;e=0;p=28}}else{c=0;d=0;e=1;p=28}while(0);if((p|0)==28){p=0;f=jo(16)|0;i[f+8>>0]=j;k[f+12>>2]=q;k[f+4>>2]=n;k[f>>2]=0;l=da(((k[x>>2]|0)+1|0)>>>0);I=da(d>>>0);m=da(o[C>>2]);do if(e|l>da(I*m)){c=(d>>>0<3|(d+-1&d|0)!=0)&1|d<<1;d=~~da(_(da(l/m)))>>>0;Ni(G,c>>>0>>0?d:c);c=k[w>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&n;break}else{e=c;c=(n>>>0)%(c>>>0)|0;break}}else e=d;while(0);d=(k[G>>2]|0)+(c<<2)|0;c=k[d>>2]|0;if(!c){k[f>>2]=k[y>>2];k[y>>2]=f;k[d>>2]=y;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(k[G>>2]|0)+(c<<2)|0;p=39}}else{k[f>>2]=k[c>>2];p=39}if((p|0)==39)k[c>>2]=f;k[x>>2]=(k[x>>2]|0)+1;p=41}if((p|0)==41){p=0;n=z;d=k[n>>2]|0;n=io(d|0,k[n+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Gh((k[k[A>>2]>>2]|0)+n|0,B|0,d|0)|0;k[(k[F>>2]|0)+(r<<2)>>2]=q;d=q+1|0}c=r+1|0;e=k[E>>2]|0;if((c|0)>=(e|0)){n=d;break a}h=k[w>>2]|0;r=c;q=d}}else n=0;while(0);if((n|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[F>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(D=g+(e<<2)|0,(h|0)!=(D|0)):0)k[d>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Yh(c,e-f|0,1448);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Ka(19400,19419,89,19521);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[E>>2]=n}e=k[F>>2]|0;if(e|0){c=F+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[G+8>>2]|0;if(c|0)do{F=c;c=k[c>>2]|0;_r(F)}while((c|0)!=0);c=k[G>>2]|0;k[G>>2]=0;if(!c){u=H;return n|0}_r(c);u=H;return n|0}function dc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;k[B>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0){if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0)k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else oj(h,e-d|0);y=e>>>0>1073741823?-1:e<<2;z=Xr(y)|0;_j(z|0,0,y|0)|0;A=Xr(y)|0;_j(A|0,0,y|0)|0;if((k[B>>2]|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[z+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{y=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(y|0)?y:d}g=g+1|0;d=k[B>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;K=18}}else{d=d-(k[g>>2]|0)|0;K=18}if((K|0)==18){K=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[B>>2]|0))}}r=k[a+48>>2]|0;s=a+56|0;g=k[s>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;y=h-f|0;t=y>>2;if((y|0)<=4){Yr(A);Yr(z);return 1}u=k[a+52>>2]|0;v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;n=a+20|0;o=r+64|0;p=r+28|0;q=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}m=k[f+(d<<2)>>2]|0;if(v)_j(z|0,0,q|0)|0;if((m|0)>-1){a=k[r>>2]|0;j=0;l=m;do{if(((k[a+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(C=k[(k[(k[o>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(C|0)>=0):0)?(F=k[p>>2]|0,i=k[u>>2]|0,D=k[i+(k[F+(C<<2)>>2]<<2)>>2]|0,E=C+1|0,E=k[i+(k[F+((((E|0)%3|0|0)==0?C+-2|0:E)<<2)>>2]<<2)>>2]|0,F=k[i+(k[F+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(D|0)<(d|0)&(E|0)<(d|0)&(F|0)<(d|0)):0){g=$(D,e)|0;h=$(E,e)|0;i=$(F,e)|0;if(v){f=0;do{k[A+(f<<2)>>2]=(k[c+(f+i<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(v){f=0;do{i=z+(f<<2)|0;k[i>>2]=(k[i>>2]|0)+(k[A+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}j=j+1|0}f=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(k[a+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[o>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(m|0)?-1073741824:f}while((l|0)>-1);g=$(d,e)|0;if(j){if(v){f=0;do{m=z+(f<<2)|0;k[m>>2]=(k[m>>2]|0)/(j|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(g<<2)|0;j=c+(g<<2)|0;if((k[B>>2]|0)>0){h=0;do{f=k[z+(h<<2)>>2]|0;g=k[w>>2]|0;if((f|0)>(g|0)){i=k[x>>2]|0;k[i+(h<<2)>>2]=g}else{m=k[y>>2]|0;i=k[x>>2]|0;k[i+(h<<2)>>2]=(f|0)<(m|0)?m:f}h=h+1|0;f=k[B>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=j+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0)){f=(k[n>>2]|0)+f|0;K=70}}else{f=f-(k[n>>2]|0)|0;K=70}if((K|0)==70){K=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[B>>2]|0))}}}else{I=g;K=48}}else{I=$(d,e)|0;K=48}if((K|0)==48?(K=0,G=c+(($(d+-1|0,e)|0)<<2)|0,H=b+(I<<2)|0,J=c+(I<<2)|0,(k[B>>2]|0)>0):0){h=0;do{f=k[G+(h<<2)>>2]|0;g=k[w>>2]|0;if((f|0)>(g|0)){i=k[x>>2]|0;k[i+(h<<2)>>2]=g}else{m=k[y>>2]|0;i=k[x>>2]|0;k[i+(h<<2)>>2]=(f|0)<(m|0)?m:f}h=h+1|0;f=k[B>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[H+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=J+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0)){f=(k[n>>2]|0)+f|0;K=58}}else{f=f-(k[n>>2]|0)|0;K=58}if((K|0)==58){K=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[B>>2]|0))}}d=d+1|0;if((d|0)>=(t|0))break;g=k[s>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(A);Yr(z);return 1}function ec(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;C=a+8|0;k[C>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0){if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0)k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else oj(h,e-d|0);z=e>>>0>1073741823?-1:e<<2;A=Xr(z)|0;_j(A|0,0,z|0)|0;B=Xr(z)|0;_j(B|0,0,z|0)|0;if((k[C>>2]|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[A+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{z=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(z|0)?z:d}g=g+1|0;d=k[C>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;H=18}}else{d=d-(k[g>>2]|0)|0;H=18}if((H|0)==18){H=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[C>>2]|0))}}s=k[a+48>>2]|0;t=a+56|0;g=k[t>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;z=h-f|0;u=z>>2;if((z|0)<=4){Yr(B);Yr(A);return 1}v=k[a+52>>2]|0;w=(e|0)>0;x=a+16|0;y=a+32|0;z=a+12|0;p=a+20|0;q=s+12|0;r=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}o=k[f+(d<<2)>>2]|0;if(w)_j(A|0,0,r|0)|0;if((o|0)>-1){n=k[q>>2]|0;h=0;m=o;do{g=k[n+(m<<2)>>2]|0;if((g|0)>=0){i=k[s>>2]|0;j=k[v>>2]|0;a=k[j+(k[i+(g<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(f<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(f<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((a|0)<(d|0)&(l|0)<(d|0)&(f|0)<(d|0)){j=$(a,e)|0;i=$(l,e)|0;g=$(f,e)|0;if(w){f=0;do{k[B+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+i<<2)>>2]|0)-(k[c+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(w){f=0;do{a=A+(f<<2)|0;k[a>>2]=(k[a>>2]|0)+(k[B+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}h=h+1|0}}f=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((f|0)>=0){f=k[n+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);m=(f|0)==(o|0)?-1073741824:f}while((m|0)>-1);g=$(d,e)|0;if(h){if(w){f=0;do{o=A+(f<<2)|0;k[o>>2]=(k[o>>2]|0)/(h|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(g<<2)|0;j=c+(g<<2)|0;if((k[C>>2]|0)>0){h=0;do{f=k[A+(h<<2)>>2]|0;g=k[x>>2]|0;if((f|0)>(g|0)){i=k[y>>2]|0;k[i+(h<<2)>>2]=g}else{o=k[z>>2]|0;i=k[y>>2]|0;k[i+(h<<2)>>2]=(f|0)<(o|0)?o:f}h=h+1|0;f=k[C>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[l+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=j+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[x>>2]|0)){if((f|0)<(k[z>>2]|0)){f=(k[p>>2]|0)+f|0;H=72}}else{f=f-(k[p>>2]|0)|0;H=72}if((H|0)==72){H=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[C>>2]|0))}}}else{F=g;H=50}}else{F=$(d,e)|0;H=50}if((H|0)==50?(H=0,D=c+(($(d+-1|0,e)|0)<<2)|0,E=b+(F<<2)|0,G=c+(F<<2)|0,(k[C>>2]|0)>0):0){h=0;do{f=k[D+(h<<2)>>2]|0;g=k[x>>2]|0;if((f|0)>(g|0)){i=k[y>>2]|0;k[i+(h<<2)>>2]=g}else{o=k[z>>2]|0;i=k[y>>2]|0;k[i+(h<<2)>>2]=(f|0)<(o|0)?o:f}h=h+1|0;f=k[C>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[E+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=G+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[x>>2]|0)){if((f|0)<(k[z>>2]|0)){f=(k[p>>2]|0)+f|0;H=60}}else{f=f-(k[p>>2]|0)|0;H=60}if((H|0)==60){H=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[C>>2]|0))}}d=d+1|0;if((d|0)>=(u|0))break;g=k[t>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(B);Yr(A);return 1}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){u=z;return}t=(e>>>0)/3|0;r=a+12|0;if(k[(k[r>>2]|0)+(t>>>5<<2)>>2]&1<<(t&31)|0){u=z;return}s=a+56|0;c=k[s>>2]|0;t=a+60|0;d=k[t>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[t>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))Dj(s,b);else{k[c>>2]=e;k[t>>2]=c+4}c=k[a>>2]|0;d=k[b>>2]|0;e=d+1|0;do if((d|0)>=0){f=k[c+28>>2]|0;c=k[f+((((e|0)%3|0|0)==0?d+-2|0:e)<<2)>>2]|0;if(!((d>>>0)%3|0)){g=c;d=d+2|0;c=f;break}else{g=c;d=d+-1|0;c=f;break}}else{c=k[c+28>>2]|0;g=k[c+(d<<2)>>2]|0}while(0);h=k[c+(d<<2)>>2]|0;n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];ph(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];ph(d,p,q)}d=k[s>>2]|0;c=k[t>>2]|0;if((d|0)==(c|0)){u=z;return}j=a+36|0;do{e=k[c+-4>>2]|0;k[b>>2]=e;f=(e|0)/3|0;if((e|0)>=0?(x=k[r>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){c=e;d=x;e=k[a>>2]|0;a:while(1){h=(c|0)/3|0;c=d+(h>>>5<<2)|0;k[c>>2]=1<<(h&31)|k[c>>2];c=k[b>>2]|0;h=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)i=1;else{i=k[(k[k[e+64>>2]>>2]|0)+(d<<2)>>2]|0;i=(1<<(i&31)&k[(k[e+12>>2]|0)+(i>>>5<<2)>>2]|0)!=0}d=(k[n>>2]|0)+(h>>>5<<2)|0;f=1<<(h&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;k[v>>2]=h;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];ph(j,p,q);e=k[a>>2]|0;c=k[b>>2]|0;if(i){i=e;y=40}else{d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);k[b>>2]=c}}else{i=e;y=40}if((y|0)==40){y=0;e=(c|0)<0;d=c+1|0;if(e)d=c;else d=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(d&31)&k[(k[i>>2]|0)+(d>>>5<<2)>>2])){if((d|0)>=0)d=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;k[q>>2]=d;do if(!e)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&k[(k[i>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);m=(d|0)<0;e=m?-1:(d>>>0)/3|0;f=(c|0)<0;g=f?-1:(c>>>0)/3|0;do if(!m){h=k[r>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=54;break}if(f){c=d;break}if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=59;break a}else c=d}else y=54;while(0);if((y|0)==54){y=0;if(f){y=56;break}if(k[(k[r>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){y=56;break}}k[b>>2]=c;e=i}d=k[r>>2]|0}do if((y|0)==56){y=0;c=(k[t>>2]|0)+-4|0;k[t>>2]=c}else if((y|0)==59){y=0;d=k[t>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[o>>2]|0)){Dj(s,q);c=k[t>>2]|0;break}else{k[d>>2]=k[q>>2];c=d+4|0;k[t>>2]=c;break}}while(0);d=k[s>>2]|0}else{c=c+-4|0;k[t>>2]=c}}while((d|0)!=(c|0));u=z;return}function gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;N=u;u=u+96|0;G=N+72|0;H=N+48|0;I=N+24|0;J=N;if(!(k[a>>2]|0))Ka(10840,11269,78,11436);K=a+4|0;if(!(k[K>>2]|0))Ka(10840,11269,78,11436);F=a+12|0;j=k[F>>2]|0;n=k[b>>2]|0;k[G>>2]=j;k[G+4>>2]=n;E=G+8|0;k[E>>2]=n;i[G+12>>0]=1;m=(n|0)<0;if(m)l=-1073741824;else l=k[(k[j>>2]|0)+(n<<2)>>2]|0;D=a+16|0;j=k[D>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(H,a,k[b+(l<<2)>>2]|0);a:do if(!m){w=I+8|0;x=H+8|0;y=I+16|0;z=H+16|0;A=J+8|0;B=J+16|0;v=n+1|0;v=((v|0)%3|0|0)==0?n+-2|0:v;C=(v|0)<0;s=n+(((n>>>0)%3|0|0)==0?2:-1)|0;t=(s|0)<0;p=0;m=0;q=0;n=0;r=0;o=0;while(1){if(!(k[a>>2]|0)){b=13;break}if(!(k[K>>2]|0)){b=13;break}if(C)l=-1073741824;else l=k[(k[k[F>>2]>>2]|0)+(v<<2)>>2]|0;j=k[D>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(I,a,k[b+(l<<2)>>2]|0);if(!(k[a>>2]|0)){b=21;break}if(!(k[K>>2]|0)){b=21;break}if(t)l=-1073741824;else l=k[(k[k[F>>2]>>2]|0)+(s<<2)>>2]|0;j=k[D>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(J,a,k[b+(l<<2)>>2]|0);l=I;Y=H;X=k[Y>>2]|0;Y=k[Y+4>>2]|0;l=Wo(k[l>>2]|0,k[l+4>>2]|0,X|0,Y|0)|0;O=M;P=w;_=x;Z=k[_>>2]|0;_=k[_+4>>2]|0;P=Wo(k[P>>2]|0,k[P+4>>2]|0,Z|0,_|0)|0;Q=M;S=y;j=z;R=k[j>>2]|0;j=k[j+4>>2]|0;S=Wo(k[S>>2]|0,k[S+4>>2]|0,R|0,j|0)|0;T=M;U=J;Y=Wo(k[U>>2]|0,k[U+4>>2]|0,X|0,Y|0)|0;X=M;U=A;_=Wo(k[U>>2]|0,k[U+4>>2]|0,Z|0,_|0)|0;Z=M;U=B;j=Wo(k[U>>2]|0,k[U+4>>2]|0,R|0,j|0)|0;R=M;U=io(j|0,R|0,P|0,Q|0)|0;b=M;W=io(_|0,Z|0,S|0,T|0)|0;V=M;T=io(Y|0,X|0,S|0,T|0)|0;S=M;R=io(j|0,R|0,l|0,O|0)|0;j=M;O=io(_|0,Z|0,l|0,O|0)|0;l=M;Q=io(Y|0,X|0,P|0,Q|0)|0;P=M;m=Wo(p|0,m|0,W|0,V|0)|0;b=Fp(m|0,M|0,U|0,b|0)|0;m=M;n=Fp(T|0,S|0,q|0,n|0)|0;j=Wo(n|0,M|0,R|0,j|0)|0;n=M;o=Wo(r|0,o|0,Q|0,P|0)|0;l=Fp(o|0,M|0,O|0,l|0)|0;o=M;Rh(G);if((k[E>>2]|0)<0){h=m;g=b;f=n;e=j;L=o;d=l;break a}else{p=b;q=j;r=l}}if((b|0)==13)Ka(10840,11269,62,11458);else if((b|0)==21)Ka(10840,11269,62,11458)}else{h=0;g=0;f=0;e=0;L=0;d=0}while(0);Z=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;_=Wo(0,0,g|0,h|0)|0;b=Z?h:M;U=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;V=Wo(0,0,e|0,f|0)|0;W=U?f:M;Y=(L|0)>-1|(L|0)==-1&d>>>0>4294967295;X=Wo(0,0,d|0,L|0)|0;Y=Fp((U?e:V)|0,W|0,(Y?d:X)|0,(Y?L:M)|0)|0;b=Fp(Y|0,M|0,(Z?g:_)|0,b|0)|0;if((b|0)>536870912){b=So(b|0,M|0,29)|0;b=b&7;g=kl(g|0,h|0,b|0,0)|0;h=M;e=kl(e|0,f|0,b|0,0)|0;f=M;d=kl(d|0,L|0,b|0,0)|0;b=M}else b=L;Y=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;Z=Wo(0,0,g|0,h|0)|0;_=Y?h:M;T=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;U=Wo(0,0,e|0,f|0)|0;V=T?f:M;X=(b|0)>-1|(b|0)==-1&d>>>0>4294967295;W=Wo(0,0,d|0,b|0)|0;X=Fp((T?e:U)|0,V|0,(X?d:W)|0,(X?b:M)|0)|0;_=Fp(X|0,M|0,(Y?g:Z)|0,_|0)|0;Z=M;if((Z|0)<0|(Z|0)==0&_>>>0<536870913){k[c>>2]=g;k[c+4>>2]=e;k[c+8>>2]=d;u=N;return}else Ka(11479,11269,116,11436)}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;K=u;u=u+96|0;E=K+72|0;F=K+48|0;G=K+24|0;H=K;if(!(k[a>>2]|0))Ka(10840,11269,78,11436);I=a+4|0;if(!(k[I>>2]|0))Ka(10840,11269,78,11436);D=a+12|0;l=k[D>>2]|0;m=k[b>>2]|0;k[E>>2]=l;k[E+4>>2]=m;B=E+8|0;k[B>>2]=m;i[E+12>>0]=1;l=k[(k[l+28>>2]|0)+(m<<2)>>2]|0;C=a+16|0;j=k[C>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(F,a,k[b+(l<<2)>>2]|0);a:do if((m|0)>=0){v=G+8|0;w=F+8|0;x=G+16|0;y=F+16|0;z=H+8|0;A=H+16|0;t=m+1|0;t=((t|0)%3|0|0)==0?m+-2|0:t;s=m+(((m>>>0)%3|0|0)==0?2:-1)|0;p=0;m=0;q=0;n=0;r=0;o=0;while(1){if(!(k[a>>2]|0)){b=11;break}if(!(k[I>>2]|0)){b=11;break}l=k[(k[(k[D>>2]|0)+28>>2]|0)+(t<<2)>>2]|0;j=k[C>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(G,a,k[b+(l<<2)>>2]|0);if(!(k[a>>2]|0)){b=17;break}if(!(k[I>>2]|0)){b=17;break}l=k[(k[(k[D>>2]|0)+28>>2]|0)+(s<<2)>>2]|0;j=k[C>>2]|0;b=k[j>>2]|0;if((k[j+4>>2]|0)-b>>2>>>0<=l>>>0){Iq(j);b=k[j>>2]|0}eh(H,a,k[b+(l<<2)>>2]|0);l=G;W=F;V=k[W>>2]|0;W=k[W+4>>2]|0;l=Wo(k[l>>2]|0,k[l+4>>2]|0,V|0,W|0)|0;L=M;N=v;Y=w;X=k[Y>>2]|0;Y=k[Y+4>>2]|0;N=Wo(k[N>>2]|0,k[N+4>>2]|0,X|0,Y|0)|0;O=M;Q=x;j=y;P=k[j>>2]|0;j=k[j+4>>2]|0;Q=Wo(k[Q>>2]|0,k[Q+4>>2]|0,P|0,j|0)|0;R=M;S=H;W=Wo(k[S>>2]|0,k[S+4>>2]|0,V|0,W|0)|0;V=M;S=z;Y=Wo(k[S>>2]|0,k[S+4>>2]|0,X|0,Y|0)|0;X=M;S=A;j=Wo(k[S>>2]|0,k[S+4>>2]|0,P|0,j|0)|0;P=M;S=io(j|0,P|0,N|0,O|0)|0;b=M;U=io(Y|0,X|0,Q|0,R|0)|0;T=M;R=io(W|0,V|0,Q|0,R|0)|0;Q=M;P=io(j|0,P|0,l|0,L|0)|0;j=M;L=io(Y|0,X|0,l|0,L|0)|0;l=M;O=io(W|0,V|0,N|0,O|0)|0;N=M;m=Wo(p|0,m|0,U|0,T|0)|0;b=Fp(m|0,M|0,S|0,b|0)|0;m=M;n=Fp(R|0,Q|0,q|0,n|0)|0;j=Wo(n|0,M|0,P|0,j|0)|0;n=M;o=Wo(r|0,o|0,O|0,N|0)|0;l=Fp(o|0,M|0,L|0,l|0)|0;o=M;Ig(E);if((k[B>>2]|0)<0){h=m;g=b;f=n;e=j;J=o;d=l;break a}else{p=b;q=j;r=l}}if((b|0)==11)Ka(10840,11269,62,11458);else if((b|0)==17)Ka(10840,11269,62,11458)}else{h=0;g=0;f=0;e=0;J=0;d=0}while(0);X=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;Y=Wo(0,0,g|0,h|0)|0;b=X?h:M;S=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;T=Wo(0,0,e|0,f|0)|0;U=S?f:M;W=(J|0)>-1|(J|0)==-1&d>>>0>4294967295;V=Wo(0,0,d|0,J|0)|0;W=Fp((S?e:T)|0,U|0,(W?d:V)|0,(W?J:M)|0)|0;b=Fp(W|0,M|0,(X?g:Y)|0,b|0)|0;if((b|0)>536870912){b=So(b|0,M|0,29)|0;b=b&7;g=kl(g|0,h|0,b|0,0)|0;h=M;e=kl(e|0,f|0,b|0,0)|0;f=M;d=kl(d|0,J|0,b|0,0)|0;b=M}else b=J;W=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;X=Wo(0,0,g|0,h|0)|0;Y=W?h:M;R=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;S=Wo(0,0,e|0,f|0)|0;T=R?f:M;V=(b|0)>-1|(b|0)==-1&d>>>0>4294967295;U=Wo(0,0,d|0,b|0)|0;V=Fp((R?e:S)|0,T|0,(V?d:U)|0,(V?b:M)|0)|0;Y=Fp(V|0,M|0,(W?g:X)|0,Y|0)|0;X=M;if((X|0)<0|(X|0)==0&Y>>>0<536870913){k[c>>2]=g;k[c+4>>2]=e;k[c+8>>2]=d;u=K;return}else Ka(11479,11269,116,11436)}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){u=z;return}t=(e>>>0)/3|0;r=a+12|0;if(k[(k[r>>2]|0)+(t>>>5<<2)>>2]&1<<(t&31)|0){u=z;return}s=a+56|0;c=k[s>>2]|0;t=a+60|0;d=k[t>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[t>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))Dj(s,b);else{k[c>>2]=e;k[t>>2]=c+4}e=k[a>>2]|0;d=k[b>>2]|0;c=d+1|0;if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=k[(k[e>>2]|0)+(c<<2)>>2]|0;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){g=c;h=-1073741824}else{g=c;h=k[(k[e>>2]|0)+(d<<2)>>2]|0}}else{g=-1073741824;h=-1073741824}n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];ph(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];ph(d,p,q)}c=k[s>>2]|0;e=k[t>>2]|0;if((c|0)==(e|0)){u=z;return}j=a+36|0;d=c;while(1){c=k[e+-4>>2]|0;k[b>>2]=c;f=(c|0)/3|0;if((c|0)>=0?(x=k[r>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){d=x;a:while(1){e=(c|0)/3|0;f=d+(e>>>5<<2)|0;k[f>>2]=1<<(e&31)|k[f>>2];f=k[b>>2]|0;e=k[a>>2]|0;if((f|0)<0)i=-1073741824;else i=k[(k[e>>2]|0)+(f<<2)>>2]|0;c=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>=0){c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)h=c;else h=((d|0)%3|0|0)==0?c+-2|0:d}else h=c}else h=c;c=(k[n>>2]|0)+(i>>>5<<2)|0;d=1<<(i&31);g=k[c>>2]|0;if(!(g&d)){k[c>>2]=g|d;k[v>>2]=i;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];ph(j,p,q);d=k[a>>2]|0;c=k[b>>2]|0;if((h|0)<0){f=c;e=d;y=41}else{do if((c|0)<0)c=-1073741824;else{m=c+1|0;c=((m|0)%3|0|0)==0?c+-2|0:m;if((c|0)<0)break;c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0}while(0);k[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((f|0)<0){y=44;break}c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;if((c|0)>=0)c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;k[q>>2]=c;d=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;e=m?-1:(c>>>0)/3|0;f=(d|0)<0;g=f?-1:(d>>>0)/3|0;do if(!m){h=k[r>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=49;break}if(f)break;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(f){y=51;break}if(!(k[(k[r>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))c=d;else{y=51;break}}k[b>>2]=c}d=k[r>>2]|0}do if((y|0)==44){k[q>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=k[t>>2]|0;k[c+-4>>2]=d;if((c|0)==(k[o>>2]|0)){Dj(s,q);c=k[t>>2]|0;break}else{k[c>>2]=k[q>>2];c=c+4|0;k[t>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(k[t>>2]|0)+-4|0;k[t>>2]=c}d=k[s>>2]|0}else{c=e+-4|0;k[t>>2]=c}if((d|0)==(c|0))break;else e=c}u=z;return}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0,j=Pa,m=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(k[s>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,da(o[s>>2]));e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=e;g=(k[s>>2]=f,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=c+16|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];m=da(o[s>>2]);h=f+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);f=f+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+8|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+16|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];g=da(o[s>>2]);h=f+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);f=f+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];m=da(o[s>>2]);f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c+8|0;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+m)>=1.0?(+m>0.0?~~+aa(+N(+m/4294967296.0),4294967295.0)>>>0:~~+_((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;h=c+16|0;k[h>>2]=~~+m>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,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;m=w+680|0;j=w;o=w+8|0;p=w+676|0;q=w+672|0;r=w+668|0;s=w+664|0;t=w+660|0;v=w+656|0;n=w+4|0;f=b+8|0;y=f;e=k[y>>2]|0;y=k[y+4>>2]|0;h=b+16|0;g=h;d=k[g>>2]|0;g=Fp(d|0,k[g+4>>2]|0,4,0)|0;x=M;if((y|0)<(x|0)|(y|0)==(x|0)&e>>>0>>0){y=0;u=w;return y|0}y=(k[b>>2]|0)+d|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;i[a>>0]=y;i[a+1>>0]=y>>8;i[a+2>>0]=y>>16;i[a+3>>0]=y>>24;y=h;g=k[y>>2]|0;y=k[y+4>>2]|0;d=Fp(g|0,y|0,4,0)|0;e=h;k[e>>2]=d;k[e+4>>2]=M;e=f;x=k[e>>2]|0;e=k[e+4>>2]|0;y=Fp(g|0,y|0,8,0)|0;g=M;if((e|0)<(g|0)|(e|0)==(g|0)&x>>>0>>0){y=0;u=w;return y|0}y=a+4|0;e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[y>>0]=e;i[y+1>>0]=e>>8;i[y+2>>0]=e>>16;i[y+3>>0]=e>>24;y=h;e=k[y>>2]|0;y=k[y+4>>2]|0;d=Fp(e|0,y|0,4,0)|0;g=h;k[g>>2]=d;k[g+4>>2]=M;g=a+12|0;z=f;x=k[z>>2]|0;z=k[z+4>>2]|0;y=Fp(e|0,y|0,8,0)|0;e=M;if((z|0)<(e|0)|(z|0)==(e|0)&x>>>0>>0){z=0;u=w;return z|0}e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[g>>0]=e;i[g+1>>0]=e>>8;i[g+2>>0]=e>>16;i[g+3>>0]=e>>24;z=h;x=k[z>>2]|0;z=k[z+4>>2]|0;d=Fp(x|0,z|0,4,0)|0;y=h;k[y>>2]=d;k[y+4>>2]=M;a=a+16|0;y=k[f>>2]|0;f=k[f+4>>2]|0;z=Fp(x|0,z|0,8,0)|0;x=M;if((f|0)<(x|0)|(f|0)==(x|0)&y>>>0>>0){z=0;u=w;return z|0}d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;y=h;y=Fp(k[y>>2]|0,k[y+4>>2]|0,4,0)|0;z=h;k[z>>2]=y;k[z+4>>2]=M;if(d>>>0>6){k[j>>2]=d;Ho(19684,j)|0;z=0;u=w;return z|0}d=c;a:do if(e|0){Mj(c,e);switch(k[a>>2]|0){case 0:{Vi(o,3);k[p>>2]=d;k[m>>2]=k[p>>2];Gf(o,b,m)|0;Ng(o);break a}case 1:{Vi(o,3);k[q>>2]=d;k[m>>2]=k[q>>2];Ff(o,b,m)|0;Ng(o);break a}case 2:{Yi(o,3);k[r>>2]=d;k[m>>2]=k[r>>2];If(o,b,m)|0;Qg(o);break a}case 3:{Yi(o,3);k[s>>2]=d;k[m>>2]=k[s>>2];Hf(o,b,m)|0;Qg(o);break a}case 4:{Ci(o,3);k[t>>2]=d;k[m>>2]=k[t>>2];ef(o,b,m)|0;Ag(o);break a}case 5:{Ci(o,3);k[v>>2]=d;k[m>>2]=k[v>>2];df(o,b,m)|0;Ag(o);break a}case 6:{Ci(o,3);k[n>>2]=d;k[m>>2]=k[n>>2];cf(o,b,m)|0;Ag(o);break a}default:{z=0;u=w;return z|0}}}while(0);z=(((k[c+4>>2]|0)-(k[c>>2]|0)|0)/12|0|0)==(k[g>>2]|0);u=w;return z|0}function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;G=u;u=u+80|0;z=G+76|0;B=G;C=G+72|0;D=G+64|0;E=G+68|0;F=a+28|0;do if(((l[(k[F>>2]|0)+36>>0]|0)<<8&65535)<512){x=b+8|0;y=k[x>>2]|0;x=k[x+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((x|0)<(f|0)|(x|0)==(f|0)&y>>>0>>0){F=0;u=G;return F|0}else{y=(k[b>>2]|0)+d|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;k[z>>2]=y;k[c>>2]=e;k[c+4>>2]=f;c=y;break}}else if(sk(z,b)|0){c=k[z>>2]|0;break}else{F=0;u=G;return F|0}while(0);if(!c){F=0;u=G;return F|0}x=a+4|0;y=a+8|0;f=k[y>>2]|0;e=k[x>>2]|0;d=f-e>>2;if(c>>>0>d>>>0){oj(x,c-d|0);if(!(k[z>>2]|0)){F=1;u=G;return F|0}}else if(c>>>0>>0?(g=e+(c<<2)|0,(f|0)!=(g|0)):0)k[y>>2]=f+(~((f+-4-g|0)>>>2)<<2);p=k[a+32>>2]|0;q=b+8|0;r=b+16|0;s=B+60|0;t=p+8|0;v=p+12|0;w=a+16|0;o=a+20|0;n=0;while(1){f=q;d=k[f>>2]|0;f=k[f+4>>2]|0;j=r;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&d>>>0>h>>>0)){c=0;d=53;break}g=k[b>>2]|0;m=i[g+h>>0]|0;c=Fp(h|0,j|0,1,0)|0;a=M;e=r;k[e>>2]=c;k[e+4>>2]=a;if(!((f|0)>(a|0)|(f|0)==(a|0)&d>>>0>c>>>0)){c=0;d=53;break}a=i[g+c>>0]|0;c=Fp(h|0,j|0,2,0)|0;e=M;H=r;k[H>>2]=c;k[H+4>>2]=e;if(!((f|0)>(e|0)|(f|0)==(e|0)&d>>>0>c>>>0)){c=0;d=53;break}e=i[g+c>>0]|0;c=Fp(h|0,j|0,3,0)|0;H=M;I=r;k[I>>2]=c;k[I+4>>2]=H;if(!((f|0)>(H|0)|(f|0)==(H|0)&d>>>0>c>>>0)){c=0;d=53;break}d=i[g+c>>0]|0;I=Fp(h|0,j|0,4,0)|0;c=r;k[c>>2]=I;k[c+4>>2]=M;c=a&255;if((a+-1&255)>10){c=0;d=53;break}Jm(B);I=$(Zm(c)|0,e&255)|0;rk(B,m&255,0,e,c,d<<24>>24!=0,I,((I|0)<0)<<31>>31,0,0);I=k[F>>2]|0;if((((l[I+36>>0]|0)<<8|(l[I+37>>0]|0))&65535)>258){sk(C,b)|0;c=k[C>>2]|0}else{H=q;I=k[H>>2]|0;H=k[H+4>>2]|0;d=r;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,2,0)|0;e=M;if((H|0)<(e|0)|(H|0)==(e|0)&I>>>0>>0){d=51;break}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8;I=r;k[I>>2]=d;k[I+4>>2]=e;c=c&65535;k[C>>2]=c}k[s>>2]=c;a=jo(96)|0;vm(a,B);k[D>>2]=a;a=hi(p,D)|0;f=k[D>>2]|0;k[D>>2]=0;if(f|0){I=f+88|0;c=k[I>>2]|0;k[I>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}I=f+64|0;c=k[I>>2]|0;k[I>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f)}if((a|0)<=-1){d=41;break}c=k[t>>2]|0;if(((k[v>>2]|0)-c>>2|0)<=(a|0)){d=43;break}k[(k[c+(a<<2)>>2]|0)+60>>2]=k[C>>2];d=k[x>>2]|0;k[d+(n<<2)>>2]=a;e=k[o>>2]|0;c=k[w>>2]|0;f=e-c>>2;if((a|0)>=(f|0)){g=a+1|0;k[E>>2]=-1;if(g>>>0<=f>>>0){if(g>>>0>>0?(A=c+(g<<2)|0,(e|0)!=(A|0)):0)k[o>>2]=e+(~((e+-4-A|0)>>>2)<<2)}else{Yh(w,g-f|0,E);d=k[x>>2]|0;c=k[w>>2]|0}}k[c+(a<<2)>>2]=((k[y>>2]|0)-d>>2)+-1;n=n+1|0;if(n>>>0>=(k[z>>2]|0)>>>0){c=1;d=53;break}}if((d|0)==41)Ka(20132,20148,63,20247);else if((d|0)==43)Ka(20257,20148,64,20247);else if((d|0)==51){I=0;u=G;return I|0}else if((d|0)==53){u=G;return c|0}return 0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa,f=Pa,g=0,h=0,j=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=Pa;t=i[b+11>>0]|0;v=t<<24>>24<0;u=v?k[b>>2]|0:b;t=v?k[b+4>>2]|0:t&255;if(t>>>0>3){g=u;m=t;h=t;while(1){v=$(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24,1540483477)|0;m=($(v>>>24^v,1540483477)|0)^($(m,1540483477)|0);h=h+-4|0;if(h>>>0<=3)break;else g=g+4|0}h=t+-4|0;j=h&-4;h=h-j|0;j=u+(j+4)|0;g=m}else{h=t;j=u;g=t}switch(h|0){case 3:{n=l[j+2>>0]<<16^g;x=6;break}case 2:{n=g;x=6;break}case 1:{p=g;x=7;break}default:q=g}if((x|0)==6){p=l[j+1>>0]<<8^n;x=7}if((x|0)==7)q=$(l[j>>0]^p,1540483477)|0;v=$(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;g=k[r>>2]|0;s=(g|0)==0;a:do if(!s){p=g+-1|0;j=(p&g|0)==0;if(j)q=v&p;else q=(v>>>0)%(g>>>0)|0;h=k[(k[a>>2]|0)+(q<<2)>>2]|0;if((h|0)!=0?(d=k[h>>2]|0,(d|0)!=0):0){h=(t|0)==0;if(j){if(h){while(1){if((k[d+4>>2]&p|0)!=(q|0)){c=q;break a}u=i[d+8+11>>0]|0;if(!((u<<24>>24<0?k[d+12>>2]|0:u&255)|0))break;d=k[d>>2]|0;if(!d){c=q;break a}}a=d+20|0;return a|0}b:while(1){if((k[d+4>>2]&p|0)!=(q|0)){c=q;break a}h=d+8|0;j=i[h+11>>0]|0;n=j<<24>>24<0;j=j&255;do if(((n?k[d+12>>2]|0:j)|0)==(t|0)){m=k[h>>2]|0;if(n)if(!(lm(m,u,t)|0)){x=54;break b}else break;if((m&255)<<24>>24==(i[u>>0]|0)){m=u;do{j=j+-1|0;h=h+1|0;if(!j){x=54;break b}m=m+1|0}while((i[h>>0]|0)==(i[m>>0]|0))}}while(0);d=k[d>>2]|0;if(!d){c=q;break a}}if((x|0)==54){a=d+20|0;return a|0}}else{if(h){c=d;while(1){if((((k[c+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(q|0)){c=q;break a}u=i[c+8+11>>0]|0;if(!((u<<24>>24<0?k[c+12>>2]|0:u&255)|0)){d=c;break}c=k[c>>2]|0;if(!c){c=q;break a}}a=d+20|0;return a|0}c:while(1){if((((k[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(q|0)){c=q;break a}h=d+8|0;j=i[h+11>>0]|0;m=j<<24>>24<0;j=j&255;do if(((m?k[d+12>>2]|0:j)|0)==(t|0)){n=k[h>>2]|0;if(m)if(!(lm(n,u,t)|0)){x=54;break c}else break;if((n&255)<<24>>24==(i[u>>0]|0)){m=u;do{j=j+-1|0;h=h+1|0;if(!j){x=54;break c}m=m+1|0}while((i[h>>0]|0)==(i[m>>0]|0))}}while(0);d=k[d>>2]|0;if(!d){c=q;break a}}if((x|0)==54){a=d+20|0;return a|0}}}else c=q}else c=0;while(0);j=jo(24)|0;gm(j+8|0,b);k[j+20>>2]=0;k[j+4>>2]=v;k[j>>2]=0;h=a+12|0;e=da(((k[h>>2]|0)+1|0)>>>0);y=da(g>>>0);f=da(o[a+16>>2]);do if(s|e>da(y*f)){c=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~da(_(da(e/f)))>>>0;Ti(a,c>>>0>>0?d:c);c=k[r>>2]|0;d=c+-1|0;if(!(d&c)){g=c;c=d&v;break}else{g=c;c=(v>>>0)%(c>>>0)|0;break}}while(0);c=(k[a>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){b=a+8|0;k[j>>2]=k[b>>2];k[b>>2]=j;k[c>>2]=b;c=k[j>>2]|0;if(c|0){c=k[c+4>>2]|0;d=g+-1|0;if(!(d&g))c=c&d;else c=(c>>>0)%(g>>>0)|0;w=(k[a>>2]|0)+(c<<2)|0;x=52}}else{k[j>>2]=k[d>>2];w=d;x=52}if((x|0)==52)k[w>>2]=j;k[h>>2]=(k[h>>2]|0)+1;a=j;a=a+20|0;return a|0}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,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+16|0;x=C+8|0;y=C+4|0;z=C;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){u=C;return}w=b+84|0;s=b+88|0;t=a+52|0;v=c+84|0;j=c+68|0;l=a+56|0;m=a+60|0;n=a+12|0;o=a+28|0;p=a+40|0;q=a+44|0;r=a+48|0;c=0;h=0;a:while(1){b=k[(k[d+24>>2]|0)+(h<<2)>>2]|0;if((b|0)<0)b=d;else{g=c+1|0;d=(b>>>0)/3|0;e=k[w>>2]|0;if((d|0)>=(((k[s>>2]|0)-e|0)/12|0|0)){B=6;break}d=k[e+(d*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))d=k[(k[j>>2]|0)+(d<<2)>>2]|0;k[x>>2]=d;e=k[l>>2]|0;if(e>>>0<(k[m>>2]|0)>>>0){k[e>>2]=d;k[l>>2]=e+4}else Dj(t,x);k[x>>2]=b;k[y>>2]=0;b:do if(k[(k[n>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;f=k[a>>2]|0;if(!(1<<(d&31)&k[f+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;k[y>>2]=d;if((d|0)>-1)b=d;else break;while(1){k[x>>2]=b;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if(1<<(d&31)&k[f+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=k[(k[(k[A>>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;k[y>>2]=d;if((d|0)>-1)b=d;else break b}k[y>>2]=d;break}}}else d=-1073741824;k[y>>2]=d}while(0);k[(k[o>>2]|0)+(b<<2)>>2]=c;b=k[q>>2]|0;if((b|0)==(k[r>>2]|0))Dj(p,x);else{k[b>>2]=k[x>>2];k[q>>2]=b+4}f=k[A>>2]|0;d=k[x>>2]|0;c:do if((d|0)>=0){b=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0){e=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=e;if((e|0)>-1&(e|0)!=(d|0)){f=g;b=c;while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;do if(k[(k[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){c=f+1|0;b=(e>>>0)/3|0;d=k[w>>2]|0;if((b|0)>=(((k[s>>2]|0)-d|0)/12|0|0)){B=33;break a}b=k[d+(b*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))b=k[(k[j>>2]|0)+(b<<2)>>2]|0;k[z>>2]=b;d=k[l>>2]|0;if(d>>>0<(k[m>>2]|0)>>>0){k[d>>2]=b;k[l>>2]=d+4}else Dj(t,z);b=k[q>>2]|0;if((b|0)==(k[r>>2]|0)){Dj(p,y);d=f;break}else{k[b>>2]=k[y>>2];k[q>>2]=b+4;d=f;break}}else{c=f;d=b}while(0);k[(k[o>>2]|0)+(k[y>>2]<<2)>>2]=d;f=k[A>>2]|0;b=k[y>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;e=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=e;if(!((e|0)>-1?(e|0)!=(k[x>>2]|0):0)){b=f;break c}else{f=c;b=d}}k[y>>2]=b;b=f}else{c=g;b=f}}else B=30}else B=30}else{b=d;B=30}while(0);if((B|0)==30){B=0;k[y>>2]=b;c=g;b=f}}h=h+1|0;if((h|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0)){B=3;break}else d=b}if((B|0)==3){u=C;return}else if((B|0)==6)Ka(20431,20341,64,20426);else if((B|0)==33)Ka(20431,20341,64,20426)}function oc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=a+8|0;k[x>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{oj(h,e-d|0);d=k[x>>2]|0}u=k[a+48>>2]|0;v=k[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=Xr(t)|0;_j(w|0,0,t|0)|0;if((d|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[w+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{t=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(t|0)?t:d}g=g+1|0;d=k[x>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;C=18}}else{d=d-(k[g>>2]|0)|0;C=18}if((C|0)==18){C=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[x>>2]|0))}}p=a+56|0;g=k[p>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;t=h-f|0;q=t>>2;if((t|0)<=4){Yr(w);return 1}r=a+16|0;s=a+32|0;t=a+12|0;m=a+20|0;n=u+12|0;o=(e|0)>0;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}f=k[f+(d<<2)>>2]|0;a=$(d,e)|0;if((f|0)>=0?(y=k[(k[n>>2]|0)+(f<<2)>>2]|0,(y|0)>=0):0){g=k[u>>2]|0;i=k[v>>2]|0;j=k[i+(k[g+(y<<2)>>2]<<2)>>2]|0;f=y+1|0;f=((f|0)%3|0|0)==0?y+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[g+(f<<2)>>2]|0;h=k[i+(f<<2)>>2]|0;f=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((f|0)<0)f=-1073741824;else f=k[g+(f<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((j|0)<(d|0)&(h|0)<(d|0)&(f|0)<(d|0)){i=$(j,e)|0;h=$(h,e)|0;g=$(f,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}j=b+(a<<2)|0;l=c+(a<<2)|0;if((k[x>>2]|0)>0){h=0;do{f=k[w+(h<<2)>>2]|0;g=k[r>>2]|0;if((f|0)>(g|0)){i=k[s>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[t>>2]|0;i=k[s>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[x>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0)){f=(k[m>>2]|0)+f|0;C=57}}else{f=f-(k[m>>2]|0)|0;C=57}if((C|0)==57){C=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[x>>2]|0))}}}else C=35}else C=35;if((C|0)==35?(C=0,z=c+(($(d+-1|0,e)|0)<<2)|0,A=b+(a<<2)|0,B=c+(a<<2)|0,(k[x>>2]|0)>0):0){h=0;do{f=k[z+(h<<2)>>2]|0;g=k[r>>2]|0;if((f|0)>(g|0)){i=k[s>>2]|0;k[i+(h<<2)>>2]=g}else{a=k[t>>2]|0;i=k[s>>2]|0;k[i+(h<<2)>>2]=(f|0)<(a|0)?a:f}h=h+1|0;f=k[x>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[A+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=B+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0)){f=(k[m>>2]|0)+f|0;C=45}}else{f=f-(k[m>>2]|0)|0;C=45}if((C|0)==45){C=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[x>>2]|0))}}d=d+1|0;if((d|0)>=(q|0))break;g=k[p>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(w);return 1}function pc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;k[y>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{oj(h,e-d|0);d=k[y>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=Xr(u)|0;_j(x|0,0,u|0)|0;if((d|0)>0){j=a+16|0;h=a+32|0;l=a+12|0;g=0;do{d=k[x+(g<<2)>>2]|0;f=k[j>>2]|0;if((d|0)>(f|0)){i=k[h>>2]|0;k[i+(g<<2)>>2]=f}else{u=k[l>>2]|0;i=k[h>>2]|0;k[i+(g<<2)>>2]=(d|0)<(u|0)?u:d}g=g+1|0;d=k[y>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[i+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[j>>2]|0)){if((d|0)<(k[l>>2]|0)){d=(k[g>>2]|0)+d|0;G=18}}else{d=d-(k[g>>2]|0)|0;G=18}if((G|0)==18){G=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[y>>2]|0))}}q=a+56|0;g=k[q>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;u=h-f|0;r=u>>2;if((u|0)<=4){Yr(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;m=a+20|0;n=v+64|0;o=v+28|0;p=(e|0)>0;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}f=k[f+(d<<2)>>2]|0;a=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[v>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[n>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(z|0)>=0):0)?(C=k[o>>2]|0,l=k[w>>2]|0,A=k[l+(k[C+(z<<2)>>2]<<2)>>2]|0,B=z+1|0,B=k[l+(k[C+((((B|0)%3|0|0)==0?z+-2|0:B)<<2)>>2]<<2)>>2]|0,C=k[l+(k[C+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0,(A|0)<(d|0)&(B|0)<(d|0)&(C|0)<(d|0)):0){g=$(A,e)|0;h=$(B,e)|0;i=$(C,e)|0;if(p){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+i<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}j=b+(a<<2)|0;l=c+(a<<2)|0;if((k[y>>2]|0)>0){h=0;do{f=k[x+(h<<2)>>2]|0;g=k[s>>2]|0;if((f|0)>(g|0)){i=k[t>>2]|0;k[i+(h<<2)>>2]=g}else{g=k[u>>2]|0;i=k[t>>2]|0;k[i+(h<<2)>>2]=(f|0)<(g|0)?g:f}h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[j+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0)){f=(k[m>>2]|0)+f|0;G=53}}else{f=f-(k[m>>2]|0)|0;G=53}if((G|0)==53){G=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[y>>2]|0))}}}else G=31;if((G|0)==31?(G=0,D=c+(($(d+-1|0,e)|0)<<2)|0,E=b+(a<<2)|0,F=c+(a<<2)|0,(k[y>>2]|0)>0):0){h=0;do{f=k[D+(h<<2)>>2]|0;g=k[s>>2]|0;if((f|0)>(g|0)){i=k[t>>2]|0;k[i+(h<<2)>>2]=g}else{a=k[u>>2]|0;i=k[t>>2]|0;k[i+(h<<2)>>2]=(f|0)<(a|0)?a:f}h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[E+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=F+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0)){f=(k[m>>2]|0)+f|0;G=41}}else{f=f-(k[m>>2]|0)|0;G=41}if((G|0)==41){G=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[y>>2]|0))}}d=d+1|0;if((d|0)>=(r|0))break;g=k[q>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}Yr(x);return 1}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Pa,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;i[s>>0]=i[e>>0];i[s+1>>0]=i[e+1>>0];i[s+2>>0]=i[e+2>>0];i[s+3>>0]=i[e+3>>0];g=da(o[s>>2]);e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=e;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{h=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;h=M;f=k[a>>2]|0;b=k[f>>2]|0;if((h|0)>0|((h|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}f=b+d|0;e=f;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=(k[s>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,da(o[s>>2]));e=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c;k[h>>2]=~~+g>>>0;k[h+4>>2]=e;g=(k[s>>2]=f,da(o[s>>2]));f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}h=b+d|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);h=h+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];g=da(o[s>>2]);h=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+j>>>0;k[f+4>>2]=h;f=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+g>>>0;k[h+4>>2]=f;h=1;return h|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;h=a+40|0;d=Fp(io(k[h>>2]|0,k[h+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;h=k[a>>2]|0;b=k[h>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[h+4>>2]|0)-b|0)>>>0:0)){h=0;return h|0}h=b+d|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];g=da(o[s>>2]);h=h+4|0;i[s>>0]=i[h>>0];i[s+1>>0]=i[h+1>>0];i[s+2>>0]=i[h+2>>0];i[s+3>>0]=i[h+3>>0];j=da(o[s>>2]);h=+O(+g)>=1.0?(+g>0.0?~~+aa(+N(+g/4294967296.0),4294967295.0)>>>0:~~+_((+g-+(~~+g>>>0))/4294967296.0)>>>0):0;f=c;k[f>>2]=~~+g>>>0;k[f+4>>2]=h;f=+O(+j)>=1.0?(+j>0.0?~~+aa(+N(+j/4294967296.0),4294967295.0)>>>0:~~+_((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;h=c+8|0;k[h>>2]=~~+j>>>0;k[h+4>>2]=f;h=1;return h|0}default:{h=0;return h|0}}return 0}function rc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2188;e=f;return e|0}case 2:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2244;e=f;return e|0}case 4:{f=jo(112)|0;k[f>>2]=1740;k[f+4>>2]=c;a=f+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=k[d+12>>2];k[a+16>>2]=k[d+16>>2];k[a+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);a=f+44|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=2300;a=f+60|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(92)|0;k[b>>2]=1740;k[b+4>>2]=c;c=b+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(b+32|0,d+24|0);d=b+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=2356;e=b+60|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+88>>2]=f&65535;e=b;return e|0}case 5:{f=jo(104)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2412;k[f+60>>2]=0;k[f+64>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f+84>>2]=0;d=f+88|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(116)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2468;k[f+60>>2]=0;k[f+64>>2]=0;d=f+68|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+84|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+100|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=1852;e=f;return e|0}case 2:{f=jo(60)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=1908;e=f;return e|0}case 4:{f=jo(112)|0;k[f>>2]=1740;k[f+4>>2]=c;a=f+8|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=k[d+12>>2];k[a+16>>2]=k[d+16>>2];k[a+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);a=f+44|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=1964;a=f+60|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(92)|0;k[b>>2]=1740;k[b+4>>2]=c;c=b+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(b+32|0,d+24|0);d=b+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=2020;e=b+60|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+88>>2]=f&65535;e=b;return e|0}case 5:{f=jo(104)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2076;k[f+60>>2]=0;k[f+64>>2]=0;k[f+76>>2]=0;k[f+80>>2]=0;k[f+84>>2]=0;d=f+88|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(116)|0;k[f>>2]=1740;k[f+4>>2]=c;c=f+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(f+32|0,d+24|0);d=f+44|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2132;k[f+60>>2]=0;k[f+64>>2]=0;d=f+68|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+84|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+100|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;j=u;u=u+16|0;g=j;h=b+8|0;o=h;m=k[o>>2]|0;o=k[o+4>>2]|0;f=b+16|0;e=f;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,5,0)|0;n=M;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}d=(k[b>>2]|0)+d|0;i[c>>0]=i[d>>0]|0;i[c+1>>0]=i[d+1>>0]|0;i[c+2>>0]=i[d+2>>0]|0;i[c+3>>0]=i[d+3>>0]|0;i[c+4>>0]=i[d+4>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,5,0)|0;e=M;o=f;k[o>>2]=d;k[o+4>>2]=e;if(lm(c,18819,5)|0){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18825,17);k[a>>2]=-1;gm(a+4|0,g);Jp(g);u=j;return}o=h;n=k[o+4>>2]|0;if(!((n|0)>(e|0)|((n|0)==(e|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+5>>0]=i[(k[b>>2]|0)+d>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;n=M;o=f;k[o>>2]=d;k[o+4>>2]=n;o=h;m=k[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+6>>0]=i[(k[b>>2]|0)+d>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;n=M;o=f;k[o>>2]=d;k[o+4>>2]=n;o=h;m=k[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+7>>0]=i[(k[b>>2]|0)+d>>0]|0;d=f;d=Fp(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;n=M;o=f;k[o>>2]=d;k[o+4>>2]=n;o=h;m=k[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0>d>>>0:0))){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}i[c+8>>0]=i[(k[b>>2]|0)+d>>0]|0;o=f;m=k[o>>2]|0;o=k[o+4>>2]|0;d=Fp(m|0,o|0,1,0)|0;n=f;k[n>>2]=d;k[n+4>>2]=M;n=k[h>>2]|0;h=k[h+4>>2]|0;o=Fp(m|0,o|0,3,0)|0;m=M;if((h|0)<(m|0)|(h|0)==(m|0)&n>>>0>>0){k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;Jk(g,18789,29);k[a>>2]=-2;gm(a+4|0,g);Jp(g);u=j;return}else{n=c+10|0;o=(k[b>>2]|0)+d|0;o=l[o>>0]|l[o+1>>0]<<8;i[n>>0]=o;i[n+1>>0]=o>>8;n=f;n=Fp(k[n>>2]|0,k[n+4>>2]|0,2,0)|0;o=f;k[o>>2]=n;k[o+4>>2]=M;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;u=j;return}}function uc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;j=o+4|0;i=o;b=a+16|0;c=k[b>>2]|0;if(c>>>0>340){k[b>>2]=c+-341;l=a+4|0;j=k[l>>2]|0;n=k[j>>2]|0;j=j+4|0;k[l>>2]=j;m=a+8|0;h=k[m>>2]|0;i=a+12|0;g=k[i>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=j;else{mn(e|0,j|0,b|0)|0;b=k[l>>2]|0}a=e+(c<<2)|0;k[m>>2]=a;k[l>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}e=jo(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((j|0)==(h|0))b=g;else{b=g;c=j;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[l>>2]=g;k[m>>2]=b;k[i>>2]=e;if(c){_r(c);b=k[m>>2]|0}}else b=h;while(0);k[b>>2]=n;k[m>>2]=(k[m>>2]|0)+4;u=o;return}n=a+8|0;b=k[n>>2]|0;m=a+4|0;e=b-(k[m>>2]|0)|0;l=a+12|0;c=k[l>>2]|0;d=c-(k[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;k[j+12>>2]=0;k[j+16>>2]=a+12;if(b>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}d=jo(b<<2)|0;k[j>>2]=d;g=d+(e>>2<<2)|0;h=j+8|0;k[h>>2]=g;f=j+4|0;k[f>>2]=g;g=j+12|0;k[g>>2]=d+(b<<2);e=jo(4092)|0;k[i>>2]=e;Ah(j,i);e=k[n>>2]|0;while(1){b=k[m>>2]|0;if((e|0)==(b|0))break;i=e+-4|0;th(j,i);e=i}c=b;d=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=d;k[m>>2]=k[f>>2];k[f>>2]=c;b=k[n>>2]|0;k[n>>2]=k[h>>2];k[h>>2]=b;a=k[l>>2]|0;k[l>>2]=k[g>>2];k[g>>2]=a;if((b|0)!=(e|0))k[h>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)_r(d);u=o;return}if((c|0)!=(b|0)){n=jo(4092)|0;k[j>>2]=n;Ah(a,j);u=o;return}i=jo(4092)|0;k[j>>2]=i;th(a,j);i=k[m>>2]|0;j=k[i>>2]|0;i=i+4|0;k[m>>2]=i;h=k[n>>2]|0;g=k[l>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(i>>>0>c>>>0){b=i;d=((b-d>>2)+1|0)/-2|0;e=i+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=i;else{mn(e|0,i|0,b|0)|0;b=k[m>>2]|0}a=e+(c<<2)|0;k[n>>2]=a;k[m>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}e=jo(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((i|0)==(h|0))b=g;else{b=g;c=i;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=g;k[n>>2]=b;k[l>>2]=e;if(c){_r(c);b=k[n>>2]|0}}else b=h;while(0);k[b>>2]=j;k[n>>2]=(k[n>>2]|0)+4;u=o;return}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa,m=Pa,n=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=~~(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));k[c>>2]=f;g=~~(k[s>>2]=g,da(o[s>>2]));k[c+4>>2]=g;g=c+8|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+8|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);k[c>>2]=~~m;k[c+4>>2]=~~j;k[c+8>>2]=~~h;k[c+12>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];n=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];h=da(o[s>>2]);f=g+8|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+12|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);k[c>>2]=~~n;k[c+4>>2]=~~h;k[c+8>>2]=~~j;k[c+12>>2]=~~m;g=1;return g|0}default:{g=0;return g|0}}return 0}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);e=da(d*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}b=f+b|0;j=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b>>>0)}else{d=da(d*da(2.32830644e-10));o[c>>2]=d;d=da(da(b>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,12,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=j+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);d=da(f>>>0)}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));d=da(da(f>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,16,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=j+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=j+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=da((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);o[c+4>>2]=e;e=da(f>>>0);o[c+8>>2]=e;e=da(g>>>0);o[c+12>>2]=e;j=1;return j|0}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=e;e=da(da(f>>>0)*da(2.32830644e-10));o[c+8>>2]=e;e=da(da(g>>>0)*da(2.32830644e-10));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);e=da(d*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}b=f+b|0;j=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b|0)}else{d=da(d*da(4.65661287e-10));o[c>>2]=d;d=da(da(b|0)*da(4.65661287e-10))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,12,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=j+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);d=da(f|0)}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));d=da(da(f|0)*da(4.65661287e-10))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,16,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=j+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=j+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=da(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);o[c+4>>2]=e;e=da(f|0);o[c+8>>2]=e;e=da(g|0);o[c+12>>2]=e;j=1;return j|0}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=e;e=da(da(f|0)*da(4.65661287e-10));o[c+8>>2]=e;e=da(da(g|0)*da(4.65661287e-10));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=0,p=0,q=Pa,r=Pa,s=0,t=Pa,v=Pa,w=Pa,x=Pa,y=0,z=0,A=0,B=0,C=Pa;B=u;u=u+48|0;A=B+24|0;y=B+12|0;z=B;f=a+32|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)s=-1073741824;else s=k[(k[k[f>>2]>>2]|0)+(e<<2)>>2]|0}else{s=-1073741824;b=-1073741824}e=a+36|0;n=k[e>>2]|0;h=k[n+4>>2]|0;f=k[n>>2]|0;if(h-f>>2>>>0>b>>>0){p=f;e=f;f=n}else{Iq(n);f=k[e>>2]|0;p=k[n>>2]|0;e=k[f>>2]|0;h=k[f+4>>2]|0}b=k[p+(b<<2)>>2]|0;if(h-e>>2>>>0<=s>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(s<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){s=k[a+56>>2]|0;p=$(s,b)|0;v=da(k[c+(p<<2)>>2]|0);w=da(k[c+(p+1<<2)>>2]|0);s=$(s,f)|0;x=da(k[c+(s<<2)>>2]|0);t=da(k[c+(s+1<<2)>>2]|0);if(!(x!=v|t!=w)){a=k[a+52>>2]|0;k[a>>2]=~~x;k[a+4>>2]=~~t;u=B;return}Ph(A,a,d);Ph(y,a,b);Ph(z,a,f);q=da(o[z>>2]);j=da(o[y>>2]);q=da(q-j);r=da(o[z+4>>2]);l=da(o[y+4>>2]);r=da(r-l);i=da(o[z+8>>2]);g=da(o[y+8>>2]);i=da(i-g);j=da(da(o[A>>2])-j);l=da(da(o[A+4>>2])-l);g=da(da(o[A+8>>2])-g);m=da(da(da(da(q*q)+da(0.0))+da(r*r))+da(i*i));if(m>da(0.0)?1:(k[a+72>>2]|0)<258){C=da(da(da(da(da(q*j)+da(0.0))+da(r*l))+da(i*g))/m);q=da(j-da(q*C));r=da(l-da(r*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(r*r)+da(da(q*q)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(x-v);x=da(t-w);v=da(v+da(C*i));C=da(C*g);t=da(w+da(x*i));w=da(x*g);c=a+64|0;z=(k[c>>2]|0)+-1|0;A=(1<<(z&31)&k[(k[a+60>>2]|0)+(z>>>5<<2)>>2]|0)==0;k[c>>2]=z;x=da(-C);C=da(t+(A?x:C));x=da(-w);A=~~+N(+(+da(v+(A?w:x))+.5));a=k[a+52>>2]|0;k[a>>2]=A;A=~~+N(+(+C+.5));k[a+4>>2]=A;u=B;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+56|0;if((k[f>>2]|0)<=0){u=B;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=B;return}while(0);h=a+56|0;A=k[h>>2]|0;f=$(A,b)|0;if((A|0)<=0){u=B;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=B;return}function zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=0,p=0,q=Pa,r=Pa,s=0,t=Pa,v=Pa,w=Pa,x=Pa,y=0,z=0,A=0,B=0,C=Pa;B=u;u=u+48|0;A=B+24|0;y=B+12|0;z=B;f=a+48|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)s=-1073741824;else s=k[(k[k[f>>2]>>2]|0)+(e<<2)>>2]|0}else{s=-1073741824;b=-1073741824}e=a+52|0;n=k[e>>2]|0;h=k[n+4>>2]|0;f=k[n>>2]|0;if(h-f>>2>>>0>b>>>0){p=f;e=f;f=n}else{Iq(n);f=k[e>>2]|0;p=k[n>>2]|0;e=k[f>>2]|0;h=k[f+4>>2]|0}b=k[p+(b<<2)>>2]|0;if(h-e>>2>>>0<=s>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(s<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){s=k[a+72>>2]|0;p=$(s,b)|0;v=da(k[c+(p<<2)>>2]|0);w=da(k[c+(p+1<<2)>>2]|0);s=$(s,f)|0;x=da(k[c+(s<<2)>>2]|0);t=da(k[c+(s+1<<2)>>2]|0);if(!(x!=v|t!=w)){a=k[a+68>>2]|0;k[a>>2]=~~x;k[a+4>>2]=~~t;u=B;return}Uh(A,a,d);Uh(y,a,b);Uh(z,a,f);q=da(o[z>>2]);j=da(o[y>>2]);q=da(q-j);r=da(o[z+4>>2]);l=da(o[y+4>>2]);r=da(r-l);i=da(o[z+8>>2]);g=da(o[y+8>>2]);i=da(i-g);j=da(da(o[A>>2])-j);l=da(da(o[A+4>>2])-l);g=da(da(o[A+8>>2])-g);m=da(da(da(da(q*q)+da(0.0))+da(r*r))+da(i*i));if(m>da(0.0)?1:(k[a+88>>2]|0)<258){C=da(da(da(da(da(q*j)+da(0.0))+da(r*l))+da(i*g))/m);q=da(j-da(q*C));r=da(l-da(r*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(r*r)+da(da(q*q)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(x-v);x=da(t-w);v=da(v+da(C*i));C=da(C*g);t=da(w+da(x*i));w=da(x*g);c=a+80|0;z=(k[c>>2]|0)+-1|0;A=(1<<(z&31)&k[(k[a+76>>2]|0)+(z>>>5<<2)>>2]|0)==0;k[c>>2]=z;x=da(-C);C=da(t+(A?x:C));x=da(-w);A=~~+N(+(+da(v+(A?w:x))+.5));a=k[a+68>>2]|0;k[a>>2]=A;A=~~+N(+(+C+.5));k[a+4>>2]=A;u=B;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+72|0;if((k[f>>2]|0)<=0){u=B;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=B;return}while(0);h=a+72|0;A=k[h>>2]|0;f=$(A,b)|0;if((A|0)<=0){u=B;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=B;return}function Ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=Pa,p=Pa,q=0,r=0,s=Pa,t=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=Pa;A=u;u=u+48|0;z=A+24|0;x=A+12|0;y=A;h=a+32|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);r=k[(k[h>>2]|0)+28>>2]|0;q=k[r+(b<<2)>>2]|0;r=k[r+(f<<2)>>2]|0;b=a+36|0;f=k[b>>2]|0;h=k[f+4>>2]|0;e=k[f>>2]|0;if(h-e>>2>>>0>q>>>0)b=e;else{Iq(f);B=k[b>>2]|0;b=k[f>>2]|0;e=k[B>>2]|0;h=k[B+4>>2]|0;f=B}b=k[b+(q<<2)>>2]|0;if(h-e>>2>>>0<=r>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){B=k[a+56>>2]|0;r=$(B,b)|0;t=da(k[c+(r<<2)>>2]|0);v=da(k[c+(r+1<<2)>>2]|0);B=$(B,f)|0;w=da(k[c+(B<<2)>>2]|0);s=da(k[c+(B+1<<2)>>2]|0);if(!(w!=t|s!=v)){B=k[a+52>>2]|0;k[B>>2]=~~w;k[B+4>>2]=~~s;u=A;return}Ph(z,a,d);Ph(x,a,b);Ph(y,a,f);n=da(o[y>>2]);j=da(o[x>>2]);n=da(n-j);p=da(o[y+4>>2]);l=da(o[x+4>>2]);p=da(p-l);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);j=da(da(o[z>>2])-j);l=da(da(o[z+4>>2])-l);g=da(da(o[z+8>>2])-g);m=da(da(da(da(n*n)+da(0.0))+da(p*p))+da(i*i));if(m>da(0.0)?1:(k[a+72>>2]|0)<258){C=da(da(da(da(da(n*j)+da(0.0))+da(p*l))+da(i*g))/m);n=da(j-da(n*C));p=da(l-da(p*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(p*p)+da(da(n*n)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(w-t);w=da(s-v);t=da(t+da(C*i));C=da(C*g);s=da(v+da(w*i));v=da(w*g);B=a+64|0;c=(k[B>>2]|0)+-1|0;z=(1<<(c&31)&k[(k[a+60>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[B>>2]=c;w=da(-C);C=da(s+(z?w:C));w=da(-v);z=~~+N(+(+da(t+(z?v:w))+.5));B=k[a+52>>2]|0;k[B>>2]=z;a=~~+N(+(+C+.5));k[B+4>>2]=a;u=A;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+56|0;if((k[f>>2]|0)<=0){u=A;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=A;return}while(0);h=a+56|0;B=k[h>>2]|0;f=$(B,b)|0;if((B|0)<=0){u=A;return}e=k[a+52>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=A;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;q=v+8|0;r=v+4|0;s=v;t=a+64|0;b=k[t>>2]|0;if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)<=0){u=v;return}h=a+52|0;i=a+56|0;j=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;c=0;g=0;do{e=k[(k[b+24>>2]|0)+(g<<2)>>2]|0;if((e|0)>=0){d=c+1|0;k[q>>2]=c;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))Dj(h,q);else{k[b>>2]=c;k[i>>2]=b+4}k[r>>2]=e;k[s>>2]=0;a:do if(!(k[(k[l>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))b=e;else{b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;f=k[a>>2]|0;if(!(1<<(b&31)&k[f+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[t>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[s>>2]=b;if((b|0)<=-1){b=e;break}while(1){k[r>>2]=b;c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if(1<<(c&31)&k[f+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[t>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break;c=((e|0)%3|0|0)==0?c+-2|0:e;k[s>>2]=c;if((c|0)>-1)b=c;else break a}k[s>>2]=c;break}}}else b=-1073741824;k[s>>2]=b;b=e}while(0);k[(k[m>>2]|0)+(b<<2)>>2]=k[q>>2];b=k[o>>2]|0;if((b|0)==(k[p>>2]|0))Dj(n,r);else{k[b>>2]=k[r>>2];k[o>>2]=b+4}b=k[t>>2]|0;e=k[r>>2]|0;b:do if((e|0)>=0){c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)>=0){c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[s>>2]=c;if((c|0)>-1&(c|0)!=(e|0)){while(1){f=c+1|0;f=((f|0)%3|0|0)==0?c+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){c=d+1|0;k[q>>2]=d;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))Dj(h,q);else{k[b>>2]=d;k[i>>2]=b+4}b=k[o>>2]|0;if((b|0)==(k[p>>2]|0)){Dj(n,s);d=c;break}else{k[b>>2]=k[s>>2];k[o>>2]=b+4;d=c;break}}while(0);k[(k[m>>2]|0)+(k[s>>2]<<2)>>2]=k[q>>2];b=k[t>>2]|0;c=k[s>>2]|0;if((c|0)<0)break;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[s>>2]=c;if(!((c|0)>-1?(c|0)!=(k[r>>2]|0):0)){c=d;break b}}k[s>>2]=c;c=d}else c=d}else w=26}else w=26}else{c=e;w=26}while(0);if((w|0)==26){w=0;k[s>>2]=c;c=d}}g=g+1|0}while((g|0)<((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0));u=v;return}function Cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=Pa,l=Pa,m=Pa,n=Pa,p=Pa,q=0,r=0,s=Pa,t=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=Pa;A=u;u=u+48|0;z=A+24|0;x=A+12|0;y=A;h=a+48|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);r=k[(k[h>>2]|0)+28>>2]|0;q=k[r+(b<<2)>>2]|0;r=k[r+(f<<2)>>2]|0;b=a+52|0;f=k[b>>2]|0;h=k[f+4>>2]|0;e=k[f>>2]|0;if(h-e>>2>>>0>q>>>0)b=e;else{Iq(f);B=k[b>>2]|0;b=k[f>>2]|0;e=k[B>>2]|0;h=k[B+4>>2]|0;f=B}b=k[b+(q<<2)>>2]|0;if(h-e>>2>>>0<=r>>>0){Iq(f);e=k[f>>2]|0}f=k[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(e&(f|0)<(d|0)){B=k[a+72>>2]|0;r=$(B,b)|0;t=da(k[c+(r<<2)>>2]|0);v=da(k[c+(r+1<<2)>>2]|0);B=$(B,f)|0;w=da(k[c+(B<<2)>>2]|0);s=da(k[c+(B+1<<2)>>2]|0);if(!(w!=t|s!=v)){B=k[a+68>>2]|0;k[B>>2]=~~w;k[B+4>>2]=~~s;u=A;return}Uh(z,a,d);Uh(x,a,b);Uh(y,a,f);n=da(o[y>>2]);j=da(o[x>>2]);n=da(n-j);p=da(o[y+4>>2]);l=da(o[x+4>>2]);p=da(p-l);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);j=da(da(o[z>>2])-j);l=da(da(o[z+4>>2])-l);g=da(da(o[z+8>>2])-g);m=da(da(da(da(n*n)+da(0.0))+da(p*p))+da(i*i));if(m>da(0.0)?1:(k[a+88>>2]|0)<258){C=da(da(da(da(da(n*j)+da(0.0))+da(p*l))+da(i*g))/m);n=da(j-da(n*C));p=da(l-da(p*C));g=da(g-da(i*C));i=C;g=da(P(da(da(da(g*g)+da(da(p*p)+da(da(n*n)+da(0.0))))/m)))}else{i=da(0.0);g=da(0.0)}C=da(w-t);w=da(s-v);t=da(t+da(C*i));C=da(C*g);s=da(v+da(w*i));v=da(w*g);B=a+80|0;c=(k[B>>2]|0)+-1|0;z=(1<<(c&31)&k[(k[a+76>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[B>>2]=c;w=da(-C);C=da(s+(z?w:C));w=da(-v);z=~~+N(+(+da(t+(z?v:w))+.5));B=k[a+68>>2]|0;k[B>>2]=z;a=~~+N(+(+C+.5));k[B+4>>2]=a;u=A;return}do if(!e){if((d|0)>0){b=d+-1|0;break}f=a+72|0;if((k[f>>2]|0)<=0){u=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));u=A;return}while(0);h=a+72|0;B=k[h>>2]|0;f=$(B,b)|0;if((B|0)<=0){u=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));u=A;return}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);d=da(j*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b>>>0)}else{d=da(d*da(2.32830644e-10));o[c>>2]=d;d=da(da(b>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b>>>0);o[c+4>>2]=j;j=da(e>>>0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;j=da(da(e>>>0)*da(2.32830644e-10));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b>>>0);o[c+4>>2]=j;j=da(e>>>0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(2.32830644e-10));o[c>>2]=j;j=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=j;j=da(da(e>>>0)*da(2.32830644e-10));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Ec(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];hc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[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=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;dj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);d=da(j*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}b=e+b|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b|0)}else{d=da(d*da(4.65661287e-10));o[c>>2]=d;d=da(da(b|0)*da(4.65661287e-10))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,12,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b|0);o[c+4>>2]=j;j=da(e|0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;j=da(da(e|0)*da(4.65661287e-10));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,16,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b|0);o[c+4>>2]=j;j=da(e|0);o[c+8>>2]=j;h=1;return h|0}else{j=da(d*da(4.65661287e-10));o[c>>2]=j;j=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=j;j=da(da(e|0)*da(4.65661287e-10));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Gc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];gc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[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=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;dj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Hc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];hc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[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=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;gj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;y=C;z=a+8|0;d=k[a+12>>2]|0;if((d|0)<=1)Ka(9450,9461,60,9584);if((d|0)>=31)Ka(9604,9461,61,9584);k[a+68>>2]=d;t=1<>2]=t+-1;t=t+-2|0;r=a+76|0;k[r>>2]=t;s=a+80|0;k[s>>2]=(t|0)/2|0;t=a+44|0;k[a+48>>2]=f;if(!(Wa[k[(k[a>>2]|0)+16>>2]&255](a)|0))Ka(10840,10862,98,11027);if((e|0)!=2)Ka(11049,10862,101,11027);q=a+84|0;l=a+40|0;e=k[l>>2]|0;p=(k[e+4>>2]|0)-(k[e>>2]|0)|0;m=p>>2;k[w>>2]=0;k[w+4>>2]=0;k[w+8>>2]=0;if((p|0)<=0){u=C;return 1}n=w+4|0;o=w+8|0;p=x+4|0;d=0;while(1){f=k[e>>2]|0;if((k[e+4>>2]|0)-f>>2>>>0>d>>>0)e=f;else{Iq(e);e=k[e>>2]|0}k[y>>2]=k[e+(d<<2)>>2];k[v>>2]=k[y>>2];gc(t,v,w);e=k[w>>2]|0;g=(e|0)>-1?e:0-e|0;f=k[n>>2]|0;a=(f|0)>-1?f:0-f|0;g=Fp(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=k[o>>2]|0;h=(a|0)>-1;a=h?a:0-a|0;a=Fp(g|0,M|0,a|0,((a|0)<0)<<31>>31|0)|0;g=M;i=k[s>>2]|0;if((a|0)==0&(g|0)==0){e=i;f=w}else{D=((i|0)<0)<<31>>31;j=io(i|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;j=kl(j|0,M|0,a|0,g|0)|0;k[w>>2]=j;e=io(i|0,D|0,f|0,((f|0)<0)<<31>>31|0)|0;e=kl(e|0,M|0,a|0,g|0)|0;k[n>>2]=e;e=i-((j|0)>-1?j:0-j|0)-((e|0)>-1?e:0-e|0)|0;e=h?e:0-e|0;f=o}k[f>>2]=e;j=k[w>>2]|0;h=k[n>>2]|0;D=k[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=Nl(q)|0;e=k[w>>2]|0;if(D){e=0-e|0;g=0-(k[n>>2]|0)|0;i=0-(k[o>>2]|0)|0;k[w>>2]=e;k[n>>2]=g;k[o>>2]=i}else{g=k[n>>2]|0;i=k[o>>2]|0}a=(e|0)>-1;h=(g|0)>-1?g:0-g|0;f=(i|0)>-1?i:0-i|0;j=h+(a?e:0-e|0)+f|0;if((j|0)!=(k[s>>2]|0)){d=23;break}if(!a){if((g|0)>=0)f=(k[r>>2]|0)-f|0;if((i|0)<0)e=h;else e=(k[r>>2]|0)-h|0}else{e=j+i|0;f=j+g|0}a=(f|0)==0;g=(e|0)==0;h=k[r>>2]|0;do if((e|f|0)!=0?(A=(h|0)==(e|0),B=(h|0)==(f|0),!(a&A|g&B)):0){if(a&(j|0)<(e|0)){f=0;e=(j<<1)-e|0;break}if((j|0)>(e|0)&B){e=(j<<1)-e|0;break}if((j|0)>(f|0)&A){f=(j<<1)-f|0;break}else{f=(j|0)<(f|0)&g?(j<<1)-f|0:f;break}}else{f=h;e=h}while(0);k[x>>2]=f;k[p>>2]=e;D=d<<1;gj(z,x,b+(D<<2)|0,c+(D<<2)|0);d=d+1|0;if((d|0)>=(m|0)){d=11;break}e=k[l>>2]|0}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ka(11073,10862,117,11027);else if((d|0)==23)Ka(11140,9461,99,11228);return 0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da((l[j>>0]|l[j+1>>0]<<8)<<16>>16);e=da(d/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>16&65535;d=da((j&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<16>>16)}else{d=da(d/da(32767.0));o[c>>2]=d;d=da(da(b<<16>>16)/da(32767.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,6,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[j>>0]|l[j+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<16>>16);d=da(f<<16>>16)}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));d=da(da(f<<16>>16)/da(32767.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}g=f+b|0;h=g;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=(i[a+32>>0]|0)==0;b=(So(h|0,g|0,16)|0)&65535;f=g&65535;a=(So(h|0,g|0,48)|0)&65535;d=da((h&65535)<<16>>16);if(j){o[c>>2]=d;e=da(b<<16>>16);o[c+4>>2]=e;e=da(f<<16>>16);o[c+8>>2]=e;e=da(a<<16>>16);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=e;e=da(da(f<<16>>16)/da(32767.0));o[c+8>>2]=e;e=da(da(a<<16>>16)/da(32767.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Pa,j=Pa,m=Pa;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];f=~~da(o[s>>2]);k[c>>2]=f;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;f=g;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=~~(k[s>>2]=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24,da(o[s>>2]));k[c>>2]=f;g=~~(k[s>>2]=g,da(o[s>>2]));k[c+4>>2]=g;k[c+8>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+8|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);k[c>>2]=~~m;k[c+4>>2]=~~j;k[c+8>>2]=~~h;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];h=da(o[s>>2]);f=g+4|0;i[s>>0]=i[f>>0];i[s+1>>0]=i[f+1>>0];i[s+2>>0]=i[f+2>>0];i[s+3>>0]=i[f+3>>0];j=da(o[s>>2]);g=g+8|0;i[s>>0]=i[g>>0];i[s+1>>0]=i[g+1>>0];i[s+2>>0]=i[g+2>>0];i[s+3>>0]=i[g+3>>0];m=da(o[s>>2]);k[c>>2]=~~h;k[c+4>>2]=~~j;k[c+8>>2]=~~m;g=1;return g|0}default:{g=0;return g|0}}return 0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{j=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Fp(io(k[g>>2]|0,k[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,2,0)|0;j=M;g=k[a>>2]|0;f=k[g>>2]|0;if((j|0)>0|((j|0)==0?h>>>0>((k[g+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;d=da((l[j>>0]|l[j+1>>0]<<8)&65535);e=da(d/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;j=c+4|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;j=1;return j|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,4,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=j>>>16&65535;d=da(j&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&65535)}else{d=da(d/da(65535.0));o[c>>2]=d;d=da(da(b&65535)/da(65535.0))}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,6,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}j=f+b|0;f=j+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=j+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[j>>0]|l[j+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&65535);d=da(f&65535)}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));d=da(da(f&65535)/da(65535.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);j=1;return j|0}case 4:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=Fp(io(k[j>>2]|0,k[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0;h=Fp(b|0,M|0,8,0)|0;g=M;j=k[a>>2]|0;f=k[j>>2]|0;if((g|0)>0|((g|0)==0?h>>>0>((k[j+4>>2]|0)-f|0)>>>0:0)){j=0;return j|0}g=f+b|0;h=g;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=g+4|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=(i[a+32>>0]|0)==0;b=(So(h|0,g|0,16)|0)&65535;f=g&65535;a=(So(h|0,g|0,48)|0)&65535;d=da(h&65535);if(j){o[c>>2]=d;e=da(b&65535);o[c+4>>2]=e;e=da(f&65535);o[c+8>>2]=e;e=da(a&65535);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));o[c+4>>2]=e;e=da(da(f&65535)/da(65535.0));o[c+8>>2]=e;e=da(da(a&65535)/da(65535.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,8,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(0,g|0,32)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,32)|0;g=c+8|0;k[g>>2]=f;k[g+4>>2]=M;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,12,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;a=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=f+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,16,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;d=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=f+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;e=f+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=f+12|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=c;k[g>>2]=d;k[g+4>>2]=((d|0)<0)<<31>>31;g=c+8|0;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;g=c+16|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;g=c+24|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=1;return g|0}default:{g=0;return g|0}}return 0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);d=da(j/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<16>>16)}else{d=da(d/da(32767.0));o[c>>2]=d;d=da(da(b<<16>>16)/da(32767.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=h+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;j=da(e<<16>>16);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;j=da(da(e<<16>>16)/da(32767.0));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}e=e+b|0;g=e;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(So(g|0,e|0,16)|0)&65535;e=e&65535;d=da((g&65535)<<16>>16);if(h){o[c>>2]=d;j=da(b<<16>>16);o[c+4>>2]=j;j=da(e<<16>>16);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(32767.0));o[c>>2]=j;j=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=j;j=da(da(e<<16>>16)/da(32767.0));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=0,g=0,h=0,j=Pa;switch(i[a+24>>0]|0){case 1:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=Fp(io(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,2,0)|0;h=M;f=k[a>>2]|0;e=k[f>>2]|0;if((h|0)>0|((h|0)==0?g>>>0>((k[f+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;j=da((l[h>>0]|l[h+1>>0]<<8)&65535);d=da(j/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?j:d;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,4,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&65535)}else{d=da(d/da(65535.0));o[c>>2]=d;d=da(da(b&65535)/da(65535.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,6,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}h=e+b|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=h+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;j=da(e&65535);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;j=da(da(e&65535)/da(65535.0));o[c+8>>2]=j;h=1;return h|0}}case 4:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=Fp(io(k[h>>2]|0,k[h+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0;g=Fp(b|0,M|0,8,0)|0;f=M;h=k[a>>2]|0;e=k[h>>2]|0;if((f|0)>0|((f|0)==0?g>>>0>((k[h+4>>2]|0)-e|0)>>>0:0)){h=0;return h|0}e=e+b|0;g=e;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(So(g|0,e|0,16)|0)&65535;e=e&65535;d=da(g&65535);if(h){o[c>>2]=d;j=da(b&65535);o[c+4>>2]=j;j=da(e&65535);o[c+8>>2]=j;h=1;return h|0}else{j=da(d/da(65535.0));o[c>>2]=j;j=da(da(b&65535)/da(65535.0));o[c+4>>2]=j;j=da(da(e&65535)/da(65535.0));o[c+8>>2]=j;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Pc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3016;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3072;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2604;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=3128;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2604;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=3184;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3240;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3296;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Qc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2680;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2736;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2604;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=2792;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2604;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=2848;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2904;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2604;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=2960;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Rc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3744;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3800;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2584;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=3856;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2584;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=3912;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3968;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=4024;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 1:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3408;e=f;return e|0}case 2:{f=jo(44)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3464;e=f;return e|0}case 4:{f=jo(96)|0;k[f+4>>2]=c;a=f+12|0;b=d+4|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[f+8>>2]=2584;a=f+28|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[f>>2]=3520;a=f+44|0;b=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));e=f;return e|0}case 3:{b=jo(76)|0;k[b+4>>2]=c;c=b+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[b+8>>2]=2584;d=b+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[b>>2]=3576;e=b+44|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[b+72>>2]=f&65535;e=b;return e|0}case 5:{f=jo(88)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3632;k[f+44>>2]=0;k[f+48>>2]=0;k[f+60>>2]=0;k[f+64>>2]=0;k[f+68>>2]=0;d=f+72|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f;return e|0}case 6:{f=jo(100)|0;k[f+4>>2]=c;c=f+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f+8>>2]=2584;d=f+28|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];k[f>>2]=3688;k[f+44>>2]=0;k[f+48>>2]=0;d=f+52|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];e=f+68|0;k[e>>2]=-1;k[e+4>>2]=-1;k[e+8>>2]=-1;k[e+12>>2]=-1;vr(f+84|0);e=f;return e|0}default:{e=0;return e|0}}return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}e=b+d|0;e=(l[e>>0]|l[e+1>>0]<<8)<<16>>16;f=c;k[f>>2]=e;k[f+4>>2]=((e|0)<0)<<31>>31;f=c+8|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=(f&65535)<<16>>16;g=c;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=(f>>>16&65535)<<16>>16;g=c+8|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+16|0;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}a=b+d|0;e=a+2|0;e=l[e>>0]|l[e+1>>0]<<8;f=a+4|0;f=l[f>>0]|l[f+1>>0]<<8;a=(l[a>>0]|l[a+1>>0]<<8)<<16>>16;g=c;k[g>>2]=a;k[g+4>>2]=((a|0)<0)<<31>>31;e=e<<16>>16;g=c+8|0;k[g>>2]=e;k[g+4>>2]=((e|0)<0)<<31>>31;f=f<<16>>16;g=c+16|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=c+24|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=f;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;a=zo(No(g|0,f|0,48)|0,M|0,48)|0;e=c;k[e>>2]=a;k[e+4>>2]=M;e=zo(0,g|0,48)|0;a=c+8|0;k[a>>2]=e;k[a+4>>2]=M;a=zo(No(g|0,f|0,16)|0,M|0,48)|0;e=c+16|0;k[e>>2]=a;k[e+4>>2]=M;f=zo(g|0,f|0,48)|0;g=c+24|0;k[g>>2]=f;k[g+4>>2]=M;g=1;return g|0}default:{g=0;return g|0}}return 0} -function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;b=a+40|0;d=Fp(io(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;f=M;a=k[a>>2]|0;b=k[a>>2]|0;if((f|0)>0|((f|0)==0?e>>>0>((k[a+4>>2]|0)-b|0)>>>0:0)){f=0;return f|0}f=b+d|0;k[c>>2]=(l[f>>0]|l[f+1>>0]<<8)&65535;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,4,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,6,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8)&65535;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,8,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535;g=1;return g|0}default:{g=0;return g|0}}return 0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,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;o=w+20|0;p=w+16|0;q=w;r=w+8|0;k[t>>2]=0;v=t+4|0;k[v>>2]=0;k[t+8>>2]=0;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=Fp(g|0,h|0,4,0)|0;m=M;a:do if((e|0)<(m|0)|(e|0)==(m|0)&d>>>0>>0)d=0;else{n=k[b>>2]|0;x=n+g|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=f;k[y>>2]=j;k[y+4>>2]=m;b:do switch(x|0){case 3:{if(!((e|0)>(m|0)|(e|0)==(m|0)&d>>>0>j>>>0)){d=0;break a}y=i[n+j>>0]|0;n=Fp(g|0,h|0,5,0)|0;x=f;k[x>>2]=n;k[x+4>>2]=M;k[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(kc(a,b,t)|0)break b;else{d=0;break a}else{Im(6378,23,1,k[1276]|0)|0;d=0;break a}}case 2:{if(!(kc(a,b,t)|0)){d=0;break a}break}default:{Im(6402,24,1,k[1276]|0)|0;d=0;break a}}while(0);k[o>>2]=k[t>>2];k[p>>2]=k[v>>2];x=c;y=k[x+4>>2]|0;d=q;k[d>>2]=k[x>>2];k[d+4>>2]=y;k[s>>2]=k[q>>2];k[s+4>>2]=k[q+4>>2];Rf(r,o,p,a,s);d=1}while(0);a=k[t>>2]|0;if(!a){u=w;return d|0}b=k[v>>2]|0;if((b|0)!=(a|0))k[v>>2]=b+(~(((b+-12-a|0)>>>0)/12|0)*12|0);_r(a);u=w;return d|0}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}f=c;k[f>>2]=l[b+d>>0];k[f+4>>2]=0;f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8)&255;k[g+4>>2]=0;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=c;k[g>>2]=l[b+d>>0];k[g+4>>2]=0;g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}f=b+d|0;g=c;k[g>>2]=(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255;k[g+4>>2]=0;g=1;return g|0}default:{g=0;return g|0}}return 0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;m=p+8|0;i=p;n=a+4|0;f=k[n>>2]|0;if(f>>>0>=b>>>0){k[n>>2]=b;u=p;return}o=a+8|0;d=k[o>>2]|0;l=d<<5;e=b-f|0;if(l>>>0>>0|f>>>0>(l-e|0)>>>0){k[m>>2]=0;j=m+4|0;k[j>>2]=0;l=m+8|0;k[l>>2]=0;if((b|0)<0){Jq(a);d=k[o>>2]|0}f=d<<6;b=b+31&-32;lj(m,d<<5>>>0<1073741823?(f>>>0>>0?b:f):2147483647);b=k[n>>2]|0;k[j>>2]=b+e;f=k[a>>2]|0;g=f;d=k[m>>2]|0;b=(g+(b>>>5<<2)-f<<3)+(b&31)|0;if((b|0)>0){h=b>>>5;mn(d|0,f|0,h<<2|0)|0;f=b-(h<<5)|0;b=d+(h<<2)|0;d=b;if((f|0)>0){q=-1>>>(32-f|0);k[b>>2]=k[b>>2]&~q|k[g+(h<<2)>>2]&q}else f=0}else f=0;k[i>>2]=d;k[i+4>>2]=f;b=i;d=k[b>>2]|0;b=k[b+4>>2]|0;f=k[a>>2]|0;k[a>>2]=k[m>>2];k[m>>2]=f;q=k[n>>2]|0;k[n>>2]=k[j>>2];k[j>>2]=q;q=k[o>>2]|0;k[o>>2]=k[l>>2];k[l>>2]=q;if(f|0)_r(f)}else{d=(k[a>>2]|0)+(f>>>5<<2)|0;k[n>>2]=b;b=f&31}if(!e){u=p;return}g=(b|0)==0;f=d;if(c){if(!g){q=32-b|0;d=q>>>0>e>>>0?e:q;k[f>>2]=k[f>>2]|-1>>>(q-d|0)&-1<>>5;_j(d|0,-1,q<<2|0)|0;e=e-(q<<5)|0;d=f+(q<<2)|0;if(!e){u=p;return}k[d>>2]=k[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!g){q=32-b|0;d=q>>>0>e>>>0?e:q;k[f>>2]=k[f>>2]&~(-1>>>(q-d|0)&-1<>>5;_j(d|0,0,q<<2|0)|0;e=e-(q<<5)|0;d=f+(q<<2)|0;if(!e){u=p;return}k[d>>2]=k[d>>2]&~(-1>>>(32-e|0));u=p;return}}function wf(a,b){a=a|0;b=b|0;var c=0,d=Pa,e=Pa,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,p=Pa;l=k[b>>2]|0;h=a+4|0;i=k[h>>2]|0;j=(i|0)==0;a:do if(!j){f=i+-1|0;c=(f&i|0)==0;if(c)g=f&l;else g=(l>>>0)%(i>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b)if(c){do{b=k[b>>2]|0;if(!b){b=g;break a}if((k[b+4>>2]&f|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=k[b>>2]|0;if(!b){b=g;break a}if((((k[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=g}else b=0;while(0);g=jo(16)|0;k[g+8>>2]=l;k[g+12>>2]=0;k[g+4>>2]=l;k[g>>2]=0;m=a+12|0;d=da(((k[m>>2]|0)+1|0)>>>0);p=da(i>>>0);e=da(o[a+16>>2]);do if(j|d>da(p*e)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~da(_(da(d/e)))>>>0;fj(a,b>>>0>>0?c:b);b=k[h>>2]|0;c=b+-1|0;if(!(c&b)){f=b;b=c&l;break}else{f=b;b=(l>>>0)%(b>>>0)|0;break}}else f=i;while(0);c=(k[a>>2]|0)+(b<<2)|0;b=k[c>>2]|0;if(!b){b=a+8|0;k[g>>2]=k[b>>2];k[b>>2]=g;k[c>>2]=b;b=k[g>>2]|0;if(b|0){b=k[b+4>>2]|0;c=f+-1|0;if(!(c&f))b=b&c;else b=(b>>>0)%(f>>>0)|0;b=(k[a>>2]|0)+(b<<2)|0;n=24}}else{k[g>>2]=k[b>>2];n=24}if((n|0)==24)k[b>>2]=g;k[m>>2]=(k[m>>2]|0)+1;a=g;a=a+12|0;return a|0}function xf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;dj(q,p,b,c);l=a+40|0;a=k[l>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;m=o>>2;if((o|0)<=4){Yr(p);return 1}n=r+12|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;j=$(d,e)|0;if((f|0)>=0?(t=k[(k[n>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0){a=k[r>>2]|0;g=k[s>>2]|0;h=k[g+(k[a+(t<<2)>>2]<<2)>>2]|0;f=t+1|0;f=((f|0)%3|0|0)==0?t+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;f=k[g+(f<<2)>>2]|0;if((h|0)<(d|0)&(i|0)<(d|0)&(f|0)<(d|0)){h=$(h,e)|0;g=$(i,e)|0;a=$(f,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}dj(q,p,b+(j<<2)|0,c+(j<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;dj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0)}d=d+1|0;if((d|0)>=(m|0))break;a=k[l>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+32|0;f=o+16|0;g=o;h=b+8|0;m=h;j=k[m+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(k[m>>2]|0)>>>0>c>>>0:0))){a=0;u=o;return a|0}m=i[(k[b>>2]|0)+c>>0]|0;e=Fp(c|0,d|0,1,0)|0;j=n;k[j>>2]=e;k[j+4>>2]=M;if(m<<24>>24){a=0;u=o;return a|0}d=0;do{sk(f,b)|0;c=k[f>>2]|0;if(c|0){e=a+60+(d*12|0)|0;vf(e,c,0);vr(g);Cg(g,b)|0;if(k[f>>2]|0){c=0;do{q=Nl(g)|0;m=(k[e>>2]|0)+(c>>>5<<2)|0;j=1<<(c&31);p=k[m>>2]|0;k[m>>2]=q?p|j:p&~j;c=c+1|0}while(c>>>0<(k[f>>2]|0)>>>0)}ds(g)}d=d+1|0}while((d|0)<4);j=h;h=k[j>>2]|0;j=k[j+4>>2]|0;d=n;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Fp(c|0,d|0,4,0)|0;e=M;if((j|0)<(e|0)|(j|0)==(e|0)&h>>>0>>0){q=0;u=o;return q|0}f=k[b>>2]|0;g=f+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;q=n;k[q>>2]=m;k[q+4>>2]=e;c=Fp(c|0,d|0,8,0)|0;d=M;if((j|0)<(d|0)|(j|0)==(d|0)&h>>>0>>0){q=0;u=o;return q|0}q=f+m|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;p=n;k[p>>2]=c;k[p+4>>2]=d;k[a+12>>2]=g;k[a+16>>2]=q;q=q+(1-g)|0;k[a+20>>2]=q;c=(q|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(q&1|0){q=1;u=o;return q|0}k[d>>2]=c+-1;q=1;u=o;return q|0}function zf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;i=p;l=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;if((l|0)<=0){n=1;o=1;o=n|o;u=p;return o|0}m=a+36|0;n=a+48|0;b=0;while(1){h=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+40|0;if(k[h>>2]|0){g=k[(k[(k[m>>2]|0)+(b<<2)>>2]|0)+8>>2]|0;f=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+40|0;f=k[f>>2]|0;g=k[g+56>>2]|0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;Jk(i,17615,24);h=f+16|0;d=k[h>>2]|0;if(d){c=h;a:while(1){e=d;while(1){if((k[e+16>>2]|0)>=(g|0))break;d=k[e+4>>2]|0;if(!d)break a;else e=d}d=k[e>>2]|0;if(!d){c=e;break}else c=e}if(((c|0)!=(h|0)?(j=c+20|0,(g|0)>=(k[c+16>>2]|0)):0)?(Oi(j,i)|0)!=0:0)c=Pk(j,i,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=Pk(f,i,0)|0}Jp(i);if(c){o=15;break}}h=k[(k[m>>2]|0)+(b<<2)>>2]|0;if(!(_a[k[(k[h>>2]|0)+24>>2]&127](h,n)|0)){b=0;c=0;o=18;break}b=b+1|0;if((b|0)>=(l|0)){b=1;c=1;o=18;break}}if((o|0)==15){n=k[(k[m>>2]|0)+(b<<2)>>2]|0;o=k[n+8>>2]|0;Tf(o,Th(n)|0);n=0;o=1;o=n|o;u=p;return o|0}else if((o|0)==18){o=b|c;u=p;return o|0}return 0}function Af(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;gj(q,p,b,c);l=a+40|0;a=k[l>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;m=o>>2;if((o|0)<=4){Yr(p);return 1}n=r+12|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;j=$(d,e)|0;if((f|0)>=0?(t=k[(k[n>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0){a=k[r>>2]|0;g=k[s>>2]|0;h=k[g+(k[a+(t<<2)>>2]<<2)>>2]|0;f=t+1|0;f=((f|0)%3|0|0)==0?t+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((f|0)<0)f=-1073741824;else f=k[a+(f<<2)>>2]|0;f=k[g+(f<<2)>>2]|0;if((h|0)<(d|0)&(i|0)<(d|0)&(f|0)<(d|0)){h=$(h,e)|0;g=$(i,e)|0;a=$(f,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}gj(q,p,b+(j<<2)|0,c+(j<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;gj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0)}d=d+1|0;if((d|0)>=(m|0))break;a=k[l>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=i[b+d>>0];f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=((l[g>>0]|l[g+1>>0]<<8)&65535)<<24>>24;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}k[c>>2]=i[b+d>>0];g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)<<24>>24;g=1;return g|0}default:{g=0;return g|0}}return 0}function Cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;dj(q,p,b,c);j=a+40|0;a=k[j>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;l=o>>2;if((o|0)<=4){Yr(p);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;i=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0)?(w=k[n>>2]|0,h=k[s>>2]|0,u=k[h+(k[w+(t<<2)>>2]<<2)>>2]|0,v=t+1|0,v=k[h+(k[w+((((v|0)%3|0|0)==0?t+-2|0:v)<<2)>>2]<<2)>>2]|0,w=k[h+(k[w+((((t>>>0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0,(u|0)<(d|0)&(v|0)<(d|0)&(w|0)<(d|0)):0){a=$(u,e)|0;g=$(v,e)|0;h=$(w,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}dj(q,p,b+(i<<2)|0,c+(i<<2)|0)}else dj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(i<<2)|0,c+(i<<2)|0);d=d+1|0;if((d|0)>=(l|0))break;a=k[j>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=M;a=k[a>>2]|0;b=k[a>>2]|0;if(!((e|0)<0|((e|0)==0?d>>>0<((k[a+4>>2]|0)-b|0)>>>0:0))){f=0;return f|0}k[c>>2]=l[b+d>>0];f=1;return f|0}case 2:{g=k[b>>2]|0;d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;d=Fp(io(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,e|0,d|0)|0;e=Fp(d|0,M|0,2,0)|0;g=M;f=k[a>>2]|0;b=k[f>>2]|0;if((g|0)>0|((g|0)==0?e>>>0>((k[f+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8)&255;g=1;return g|0}case 3:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,3,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}k[c>>2]=l[b+d>>0];g=1;return g|0}case 4:{e=k[b>>2]|0;d=a+48|0;f=k[d>>2]|0;d=k[d+4>>2]|0;g=a+40|0;d=Fp(io(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,d|0)|0;f=Fp(d|0,M|0,4,0)|0;e=M;g=k[a>>2]|0;b=k[g>>2]|0;if((e|0)>0|((e|0)==0?f>>>0>((k[g+4>>2]|0)-b|0)>>>0:0)){g=0;return g|0}g=b+d|0;k[c>>2]=(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=(b|0)==(a|0);i[b+12>>0]=g&1;if(g)return;while(1){g=k[b+8>>2]|0;e=g+12|0;if(i[e>>0]|0){d=23;break}f=g+8|0;c=k[f>>2]|0;d=k[c>>2]|0;if((d|0)==(g|0)){d=k[c+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(i[d>>0]|0))b=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(i[d>>0]|0))b=d;else{d=16;break}}i[e>>0]=1;g=(c|0)==(a|0);i[c+12>>0]=g&1;i[b>>0]=1;if(g){d=23;break}else b=c}if((d|0)==7){if((k[g>>2]|0)==(b|0))b=g;else{a=g+4|0;b=k[a>>2]|0;d=k[b>>2]|0;k[a>>2]=d;if(d){k[d+8>>2]=g;c=k[f>>2]|0}a=b+8|0;k[a>>2]=c;c=k[f>>2]|0;k[((k[c>>2]|0)==(g|0)?c:c+4|0)>>2]=b;k[b>>2]=g;k[f>>2]=b;c=k[a>>2]|0}i[b+12>>0]=1;i[c+12>>0]=0;b=k[c>>2]|0;d=b+4|0;e=k[d>>2]|0;k[c>>2]=e;if(e|0)k[e+8>>2]=c;g=c+8|0;k[b+8>>2]=k[g>>2];f=k[g>>2]|0;k[((k[f>>2]|0)==(c|0)?f:f+4|0)>>2]=b;k[d>>2]=c;k[g>>2]=b;return}else if((d|0)==16){if((k[g>>2]|0)==(b|0)){b=k[g>>2]|0;e=b+4|0;d=k[e>>2]|0;k[g>>2]=d;if(d){k[d+8>>2]=g;c=k[f>>2]|0}d=b+8|0;k[d>>2]=c;a=k[f>>2]|0;k[((k[a>>2]|0)==(g|0)?a:a+4|0)>>2]=b;k[e>>2]=g;k[f>>2]=b;d=k[d>>2]|0}else{b=g;d=c}i[b+12>>0]=1;i[d+12>>0]=0;g=d+4|0;b=k[g>>2]|0;c=k[b>>2]|0;k[g>>2]=c;if(c|0)k[c+8>>2]=d;g=d+8|0;k[b+8>>2]=k[g>>2];f=k[g>>2]|0;k[((k[f>>2]|0)==(d|0)?f:f+4|0)>>2]=b;k[b>>2]=d;k[g>>2]=b;return}else if((d|0)==23)return}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;m=o+4|0;n=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

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

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

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

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Cg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+28|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+48|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+68|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;k[n>>2]=k[c>>2];k[m>>2]=k[n>>2];xb(a,q,m);q=1;u=o;return q|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+16|0;p=q;g=b+8|0;f=g;h=k[f>>2]|0;f=k[f+4>>2]|0;i=b+16|0;d=i;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((f|0)<(e|0)|(f|0)==(e|0)&h>>>0>>0){p=0;u=q;return p|0}f=(k[b>>2]|0)+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;h=i;k[h>>2]=d;k[h+4>>2]=e;if((f|0)<0){p=0;u=q;return p|0}vf(a+76|0,f,0);vr(p);if(Cg(p,b)|0){if((f|0)>0){e=a+76|0;c=1;d=0;do{c=c^((Nl(p)|0)^1);h=(k[e>>2]|0)+(d>>>5<<2)|0;r=1<<(d&31);s=k[h>>2]|0;k[h>>2]=c?s|r:s&~r;d=d+1|0}while((d|0)<(f|0))}d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;f=i;e=k[f>>2]|0;f=k[f+4>>2]|0;g=Fp(e|0,f|0,4,0)|0;h=M;if(!((d|0)<(h|0)|(d|0)==(h|0)&c>>>0>>0)?(j=k[b>>2]|0,m=j+e|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,n=i,k[n>>2]=g,k[n+4>>2]=h,n=Fp(e|0,f|0,8,0)|0,o=M,!((d|0)<(o|0)|(d|0)==(o|0)&c>>>0>>0)):0){s=j+g|0;s=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;c=i;k[c>>2]=n;k[c+4>>2]=o;k[a+12>>2]=m;k[a+16>>2]=s;s=s+(1-m)|0;k[a+20>>2]=s;c=(s|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(s&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;ds(p);s=c;u=q;return s|0}function Kf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=k[a+32>>2]|0;s=k[a+36>>2]|0;q=e>>>0>1073741823?-1:e<<2;p=Xr(q)|0;_j(p|0,0,q|0)|0;q=a+8|0;gj(q,p,b,c);j=a+40|0;a=k[j>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;l=o>>2;if((o|0)<=4){Yr(p);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){Iq(a);f=k[a>>2]|0}f=k[f+(d<<2)>>2]|0;i=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0)?(w=k[n>>2]|0,h=k[s>>2]|0,u=k[h+(k[w+(t<<2)>>2]<<2)>>2]|0,v=t+1|0,v=k[h+(k[w+((((v|0)%3|0|0)==0?t+-2|0:v)<<2)>>2]<<2)>>2]|0,w=k[h+(k[w+((((t>>>0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0,(u|0)<(d|0)&(v|0)<(d|0)&(w|0)<(d|0)):0){a=$(u,e)|0;g=$(v,e)|0;h=$(w,e)|0;if(o){f=0;do{k[p+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}gj(q,p,b+(i<<2)|0,c+(i<<2)|0)}else gj(q,c+(($(d+-1|0,e)|0)<<2)|0,b+(i<<2)|0,c+(i<<2)|0);d=d+1|0;if((d|0)>=(l|0))break;a=k[j>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}Yr(p);return 1}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=u;u=u+16|0;p=q;g=b+8|0;f=g;h=k[f>>2]|0;f=k[f+4>>2]|0;i=b+16|0;d=i;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((f|0)<(e|0)|(f|0)==(e|0)&h>>>0>>0){p=0;u=q;return p|0}f=(k[b>>2]|0)+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;h=i;k[h>>2]=d;k[h+4>>2]=e;if((f|0)<0){p=0;u=q;return p|0}e=a+76|0;vf(e,f,0);vr(p);if(Cg(p,b)|0){if((f|0)>0){c=1;d=0;do{c=c^((Nl(p)|0)^1);h=(k[e>>2]|0)+(d>>>5<<2)|0;r=1<<(d&31);s=k[h>>2]|0;k[h>>2]=c?s|r:s&~r;d=d+1|0}while((d|0)<(f|0))}d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;f=i;e=k[f>>2]|0;f=k[f+4>>2]|0;g=Fp(e|0,f|0,4,0)|0;h=M;if(!((d|0)<(h|0)|(d|0)==(h|0)&c>>>0>>0)?(j=k[b>>2]|0,m=j+e|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,n=i,k[n>>2]=g,k[n+4>>2]=h,n=Fp(e|0,f|0,8,0)|0,o=M,!((d|0)<(o|0)|(d|0)==(o|0)&c>>>0>>0)):0){s=j+g|0;s=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;c=i;k[c>>2]=n;k[c+4>>2]=o;k[a+12>>2]=m;k[a+16>>2]=s;s=s+(1-m)|0;k[a+20>>2]=s;c=(s|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(s&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;ds(p);s=c;u=q;return s|0}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;e=b+8|0;h=e;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;f=j;d=k[f>>2]|0;f=k[f+4>>2]|0;p=Fp(d|0,f|0,4,0)|0;q=M;if((h|0)<(q|0)|(h|0)==(q|0)&g>>>0

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

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

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

>>0)e=g;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Fp(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=M;h=j;k[h>>2]=d;k[h+4>>2]=f;h=k[e+4>>2]|0;e=k[e>>2]|0}g=a+4|0;q=Fp(d|0,f|0,4,0)|0;p=M;if((h|0)<(p|0)|(h|0)==(p|0)&e>>>0>>0)d=k[g>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[g>>0]=d;i[g+1>>0]=d>>8;i[g+2>>0]=d>>16;i[g+3>>0]=d>>24;p=j;p=Fp(k[p>>2]|0,k[p+4>>2]|0,4,0)|0;q=j;k[q>>2]=p;k[q+4>>2]=M}if(!d){q=1;u=o;return q|0}if(!(Cg(a+12|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+28|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+48|0,b)|0)){q=0;u=o;return q|0}if(!(Jg(a+68|0,b)|0)){q=0;u=o;return q|0}q=k[g>>2]|0;b=c;c=k[b+4>>2]|0;p=m;k[p>>2]=k[b>>2];k[p+4>>2]=c;k[n>>2]=k[m>>2];k[n+4>>2]=k[m+4>>2];vb(a,q,n);q=1;u=o;return q|0}function Qf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+12|0;n=q;m=jm(a,0)|0;if(!m){p=0;u=q;return p|0}f=a+84|0;g=a+88|0;a=k[g>>2]|0;b=k[f>>2]|0;c=a-b|0;d=(c|0)/12|0;k[o>>2]=0;p=o+4|0;k[p>>2]=0;k[o+8>>2]=0;if(!c)l=0;else{if(d>>>0>357913941){Jq(o);q=Ma(4)|0;Cr(q);wa(q|0,1344,125)}e=jo(c)|0;k[p>>2]=e;k[o>>2]=e;k[o+8>>2]=e+(d*12|0);a=d;c=e;b=e;while(1){k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;b=b+12|0;a=a+-1|0;if(!a)break;else c=b}k[p>>2]=b;b=k[f>>2]|0;a=k[g>>2]|0;l=e}k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;a=a-b|0;if((a|0)>0){g=m+68|0;h=n+4|0;j=n+8|0;f=(i[m+84>>0]|0)==0;e=(a|0)/12|0;d=0;do{a=k[b+(d*12|0)>>2]|0;if(f){c=k[g>>2]|0;a=k[c+(a<<2)>>2]|0;k[n>>2]=a;k[h>>2]=k[c+(k[b+(d*12|0)+4>>2]<<2)>>2];c=c+(k[b+(d*12|0)+8>>2]<<2)|0}else{k[n>>2]=a;k[h>>2]=k[b+(d*12|0)+4>>2];c=b+(d*12|0)+8|0}m=k[c>>2]|0;k[j>>2]=m;k[l+(d*12|0)>>2]=a;k[l+(d*12|0)+4>>2]=k[h>>2];k[l+(d*12|0)+8>>2]=m;d=d+1|0}while((d|0)<(e|0))}c=gl(o)|0;a=k[o>>2]|0;if(a|0){b=k[p>>2]|0;if((b|0)!=(a|0))k[p>>2]=b+(~(((b+-12-a|0)>>>0)/12|0)*12|0);_r(a)}p=c;u=q;return p|0}function Rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Pa,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=Pa,y=Pa,z=Pa,A=Pa,B=0,C=0;w=u;u=u+32|0;v=w+16|0;t=w;f=da(o[d+4>>2]);if(!(f>=da(0.0)))Ka(6427,6447,66,6575);s=(1<>2])+-1|0;tq(v);Do(v,f,s);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){t=e;t=k[t>>2]|0;e=e+4|0;e=k[e>>2]|0;v=a;c=v;k[c>>2]=t;v=v+4|0;k[v>>2]=e;u=w;return}m=v+4|0;h=t+4|0;j=t+8|0;l=e+4|0;r=k[e>>2]|0;n=r+84|0;p=r+68|0;q=r+40|0;r=r+64|0;g=k[l>>2]|0;do{B=(k[d>>2]|0)-s|0;b=(B|0)<0;y=da((b?0-B|0:B)|0);f=da(o[m>>2]);y=da(f*y);x=da(-y);A=da(o[v>>2]);y=da(A*(b?x:y));b=(k[d+4>>2]|0)-s|0;B=(b|0)<0;x=da(f*da((B?0-b|0:b)|0));z=da(-x);x=da(A*(B?z:x));B=(k[d+8>>2]|0)-s|0;b=(B|0)<0;f=da(f*da((b?0-B|0:B)|0));z=da(-f);f=da(A*(b?z:f));o[t>>2]=y;o[h>>2]=x;o[j>>2]=f;b=g;g=g+1|0;k[l>>2]=g;if(!(i[n>>0]|0))b=k[(k[p>>2]|0)+(b<<2)>>2]|0;C=q;B=k[C>>2]|0;b=io(b|0,((b|0)<0)<<31>>31|0,B|0,k[C+4>>2]|0)|0;Gh((k[k[r>>2]>>2]|0)+b|0,t|0,B|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));B=e;e=B;e=k[e>>2]|0;B=B+4|0;B=k[B>>2]|0;C=a;v=C;k[v>>2]=e;C=C+4|0;k[C>>2]=B;u=w;return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+144|0;c=l+136|0;h=l+32|0;g=l;d=k[(k[a+4>>2]|0)+44>>2]|0;j=jo(124)|0;k[j+4>>2]=0;k[j>>2]=4364;k[j+12>>2]=4388;k[j+100>>2]=0;k[j+104>>2]=0;k[j+108>>2]=0;e=j+16|0;f=e+80|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));k[j+112>>2]=d;k[j+116>>2]=b;k[j+120>>2]=0;k[h+4>>2]=4388;k[h+92>>2]=0;k[h+96>>2]=0;k[h+100>>2]=0;e=h+8|0;f=e+80|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=k[a+8>>2]|0;k[g>>2]=4388;f=g+4|0;e=f+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;e=a;k[f>>2]=e;e=((k[e+4>>2]|0)-(k[a>>2]|0)>>2>>>0)/3|0;i[c>>0]=0;Qh(g+8|0,e,c);Ta[k[(k[g>>2]|0)+8>>2]&127](g);k[h>>2]=k[f>>2];gh(h+4|0,g)|0;k[h+36>>2]=a;k[h+40>>2]=b;k[h+44>>2]=d;k[h+48>>2]=j;kh(j,h);k[g>>2]=4388;a=k[g+20>>2]|0;if(a|0)_r(a);a=k[g+8>>2]|0;if(!a){Bj(h);u=l;return j|0}_r(a);Bj(h);u=l;return j|0}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;if(!(k[a+64>>2]|0)){c=jo(32)|0;vo(c);e=a+64|0;f=k[e>>2]|0;k[e>>2]=c;if(f){c=k[f>>2]|0;if(c|0){d=f+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(f);c=k[e>>2]|0}tl(a,c,0,0,0,0);c=a}else c=a;if(!(Rj(c,b)|0))return;i[a+84>>0]=i[b+84>>0]|0;k[a+80>>2]=k[b+80>>2];if((a|0)!=(b|0))Gg(a+68|0,k[b+68>>2]|0,k[b+72>>2]|0);g=k[b+88>>2]|0;if(!g){a=a+88|0;c=k[a>>2]|0;k[a>>2]=0;if(!c)return;d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c);return}l=jo(40)|0;k[l>>2]=k[g>>2];c=l+8|0;d=g+8|0;k[c>>2]=0;h=l+12|0;k[h>>2]=0;e=l+16|0;k[e>>2]=0;b=g+12|0;f=(k[b>>2]|0)-(k[d>>2]|0)|0;if(f|0){if((f|0)<0)Jq(c);j=jo(f)|0;k[h>>2]=j;k[c>>2]=j;k[e>>2]=j+f;d=k[d>>2]|0;c=(k[b>>2]|0)-d|0;if((c|0)>0){Gh(j|0,d|0,c|0)|0;k[h>>2]=j+c}}e=l+24|0;j=g+24|0;k[e>>2]=k[j>>2];k[e+4>>2]=k[j+4>>2];k[e+8>>2]=k[j+8>>2];k[e+12>>2]=k[j+12>>2];a=a+88|0;e=k[a>>2]|0;k[a>>2]=l;if(!e)return;c=k[e+8>>2]|0;if(c|0){d=e+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(e);return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function Vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;j=m;l=m+16|0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,55,20247);f=k[g+8>>2]|0;if(((k[g+12>>2]|0)-f>>2|0)<=(c|0))Ka(20257,20148,56,20247);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<6&(Wa[k[(k[a>>2]|0)+8>>2]&255](a)|0)==1)){l=0;u=m;return l|0}h=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;i=_a[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;do if(!((h|0)==0|(i|0)==0)){f=_a[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;if(!f){k[j>>2]=k[a+44>>2];k[j+4>>2]=h;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Qc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}else{k[j>>2]=k[a+44>>2];k[j+4>>2]=f;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Pc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}}else f=0;while(0);l=f;u=m;return l|0}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;n=s+4|0;o=s;c=k[b>>2]|0;k[n>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){k[n+4>>2]=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[n+4>>2]=c;b=c}while(0);k[n+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;h=0;while(1){if((c|0)>=0?(k[(k[(k[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((k[l>>2]|0)!=(k[j>>2]|0)){b=0;do{if(Nl((k[i>>2]|0)+(b<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(b*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(b*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4}else Dj(a+(b*116|0)+104|0,o)}b=b+1|0}while(b>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else r=11;if((r|0)==11?(r=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){g=0;b=q;a=p;do{d=b;k[o>>2]=c;e=d+(g*116|0)+108|0;f=k[e>>2]|0;if(f>>>0<(k[d+(g*116|0)+112>>2]|0)>>>0){k[f>>2]=c;k[e>>2]=f+4}else{Dj(d+(g*116|0)+104|0,o);b=k[j>>2]|0;a=k[l>>2]|0}g=g+1|0}while(g>>>0<((a-b|0)/116|0)>>>0)}b=h+1|0;if((b|0)==3)break;h=b;c=k[n+(b<<2)>>2]|0}u=s;return 1}function Xf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;j=m;l=m+16|0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,55,20247);f=k[g+8>>2]|0;if(((k[g+12>>2]|0)-f>>2|0)<=(c|0))Ka(20257,20148,56,20247);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<6&(Wa[k[(k[a>>2]|0)+8>>2]&255](a)|0)==1)){l=0;u=m;return l|0}h=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;i=_a[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;do if(!((h|0)==0|(i|0)==0)){f=_a[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;if(!f){k[j>>2]=k[a+44>>2];k[j+4>>2]=h;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Sc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}else{k[j>>2]=k[a+44>>2];k[j+4>>2]=f;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Rc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}}else f=0;while(0);l=f;u=m;return l|0}function Yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(d>>>0>1073741823){Jq(m);o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}else{i=b*12|0;c=jo(i)|0;k[m>>2]=c;j=c+(d<<2)|0;k[m+8>>2]=j;_j(c|0,0,i|0)|0;k[n>>2]=j;break}else c=0;while(0);if(Pj(d,1,k[a+32>>2]|0,c)|0)if((b|0)>0){e=a+44|0;f=l+4|0;g=l+8|0;a=0;c=0;d=0;while(1){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;j=k[m>>2]|0;p=k[j+(c<<2)>>2]|0;h=p>>>1;h=((p&1|0)==0?h:0-h|0)+d|0;k[l>>2]=h;p=k[j+(c+1<<2)>>2]|0;i=p>>>1;h=((p&1|0)==0?i:0-i|0)+h|0;k[f>>2]=h;j=k[j+(c+2<<2)>>2]|0;i=j>>>1;d=((j&1|0)==0?i:0-i|0)+h|0;k[g>>2]=d;h=k[e>>2]|0;i=h+88|0;j=k[i>>2]|0;if((j|0)==(k[h+92>>2]|0))jj(h+84|0,l);else{k[j>>2]=k[l>>2];k[j+4>>2]=k[l+4>>2];k[j+8>>2]=k[l+8>>2];k[i>>2]=(k[i>>2]|0)+12}a=a+1|0;if((a|0)>=(b|0)){d=1;break}else c=c+3|0}}else d=1;else d=0;a=k[m>>2]|0;if(!a){u=o;return d|0}c=k[n>>2]|0;if((c|0)!=(a|0))k[n>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a);u=o;return d|0}function Zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;j=m;l=m+16|0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,55,20247);f=k[g+8>>2]|0;if(((k[g+12>>2]|0)-f>>2|0)<=(c|0))Ka(20257,20148,56,20247);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<6&(Wa[k[(k[a>>2]|0)+8>>2]&255](a)|0)==1)){l=0;u=m;return l|0}h=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;i=_a[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;do if(!((h|0)==0|(i|0)==0)){f=_a[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;if(!f){k[j>>2]=k[a+44>>2];k[j+4>>2]=h;k[j+12>>2]=i;k[j+8>>2]=i+12;f=sc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}else{k[j>>2]=k[a+44>>2];k[j+4>>2]=f;k[j+12>>2]=i;k[j+8>>2]=i+12;f=rc(l,b,g,d,j,e)|0;if(!f)f=0;else break;l=f;u=m;return l|0}}else f=0;while(0);l=f;u=m;return l|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=$b(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Rd(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=nd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=ld(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Tc(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Vc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Mc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=jc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=_d(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Kd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Jd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=hd(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=kd(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Yc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=qc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Ce(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=$d(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Yd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Qd(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Td(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Cd(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=id(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=uf(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Ue(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Se(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=ke(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Pe(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Ae(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=vc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=De(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Be(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Wd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Vd(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Je(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Je(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Kc(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Qe(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Oe(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=de(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=ce(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Te(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Te(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=dd(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=pf(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=gf(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=ye(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Me(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Hd(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Hd(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=ae(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Df(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Bf(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=sf(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=of(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=bf(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=bf(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Ie(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=$c(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Wc(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Lc(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Jc(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=wc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=xc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Re(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=jd(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=bd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=Oc(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=Nc(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Dc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=Fc(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=Gd(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Fd(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=Bd(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=gd(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=ad(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=Xc(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=_c(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;if(!c){l=0;u=m;return l|0}switch(k[a+28>>2]|0){case 9:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];l=bf(a,d,c)|0;u=m;return l|0}case 2:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];l=Le(a,d,c)|0;u=m;return l|0}case 1:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];l=He(a,d,c)|0;u=m;return l|0}case 4:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];l=oe(a,d,c)|0;u=m;return l|0}case 3:{k[i>>2]=k[b>>2];k[d>>2]=k[i>>2];l=le(a,d,c)|0;u=m;return l|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];l=ee(a,d,c)|0;u=m;return l|0}case 5:{k[l>>2]=k[b>>2];k[d>>2]=k[l>>2];l=ge(a,d,c)|0;u=m;return l|0}default:{l=0;u=m;return l|0}}return 0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;e=g+12|0;c=g;f=jo(52)|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;o[f+16>>2]=da(1.0);d=f+20|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;o[f+36>>2]=da(1.0);k[f+40>>2]=0;k[f+44>>2]=0;k[f+48>>2]=0;d=f;yr(e);if(!(Bh(e,k[b+32>>2]|0,f)|0)){k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;Jk(c,18843,26);k[a>>2]=-1;gm(a+4|0,c);Jp(c);d=f+40|0;b=k[d>>2]|0;if(b|0){e=f+44|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[e>>2]=a;c=k[a>>2]|0;k[a>>2]=0;if(c|0){Ij(c);_r(c)}c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}Ij(f);_r(f);u=g;return}e=(k[b+4>>2]|0)+4|0;f=k[e>>2]|0;k[e>>2]=d;if(f|0){d=f+40|0;b=k[d>>2]|0;if(b|0){e=f+44|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{h=c+-4|0;k[e>>2]=h;c=k[h>>2]|0;k[h>>2]=0;if(c|0){Ij(c);_r(c)}c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}Ij(f);_r(f)}k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;u=g;return}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+68>>2]|0;r=b+84|0;i[r>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Yh(l,m-e|0,4352);m=k[j>>2]|0;c=m;m=k[m+68>>2]|0}p=(k[c+88>>2]|0)-(k[c+84>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=b+68|0;a=c+84|0;l=c+88|0;j=0;while(1){c=k[a>>2]|0;if((j|0)>=(((k[l>>2]|0)-c|0)/12|0|0)){d=9;break}e=j*3|0;f=k[p>>2]|0;g=k[(k[o>>2]|0)+12>>2]|0;d=k[g+(k[f+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}if(i[r>>0]|0){d=12;break}h=k[n>>2]|0;k[h+(k[c+(j*12|0)>>2]<<2)>>2]=d;d=k[g+(k[f+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+4>>2]<<2)>>2]=d;d=k[g+(k[f+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+8>>2]<<2)>>2]=d;j=j+1|0;if((j|0)>=(q|0)){c=1;d=14;break}}if((d|0)==9)Ka(20431,20341,64,20426);else if((d|0)==12)Ka(19400,19419,89,19521);else if((d|0)==14)return c|0;return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;if(!(lc(a,b)|0)){j=0;return j|0}h=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;j=a+36|0;g=a+40|0;c=k[g>>2]|0;e=k[j>>2]|0;d=c-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(f=e+(h<<2)|0,(c|0)!=(f|0)):0)do{e=c+-4|0;k[g>>2]=e;c=k[e>>2]|0;k[e>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[g>>2]|0}while((c|0)!=(f|0))}else bh(j,h-d|0);f=b+8|0;if((h|0)<=0){j=1;return j|0}g=b+16|0;e=0;while(1){l=f;m=k[l+4>>2]|0;d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(k[l>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}l=i[(k[b>>2]|0)+c>>0]|0;c=Fp(c|0,d|0,1,0)|0;m=g;k[m>>2]=c;k[m+4>>2]=M;l=_a[k[(k[a>>2]|0)+48>>2]&127](a,l)|0;m=(k[j>>2]|0)+(e<<2)|0;c=k[m>>2]|0;k[m>>2]=l;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[j>>2]|0)+(e<<2)>>2]|0;if(!c){c=0;d=17;break}d=k[(k[c>>2]|0)+8>>2]|0;l=Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0;m=_a[k[(k[a>>2]|0)+20>>2]&127](a,e)|0;e=e+1|0;if(!(Ra[d&31](c,l,m)|0)){c=0;d=17;break}if((e|0)>=(h|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;j=l;f=a+8|0;e=k[f>>2]|0;h=a+4|0;c=k[h>>2]|0;if(((e-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;kn(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[h>>2]|0)+116|0;k[h>>2]=c;b=b+-1|0}while((b|0)!=0);u=l;return}d=k[a>>2]|0;g=((c-d|0)/116|0)+b|0;if(g>>>0>37025580){Jq(a);d=k[a>>2]|0;e=k[f>>2]|0;c=k[h>>2]|0}h=(e-d|0)/116|0;e=h<<1;e=h>>>0<18512790?(e>>>0>>0?g:e):37025580;c=(c-d|0)/116|0;k[j+12>>2]=0;k[j+16>>2]=a+8;do if(e)if(e>>>0>37025580){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{d=jo(e*116|0)|0;break}else d=0;while(0);k[j>>2]=d;c=d+(c*116|0)|0;f=j+8|0;k[f>>2]=c;k[j+4>>2]=c;k[j+12>>2]=d+(e*116|0);do{k[c>>2]=-1;kn(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[f>>2]|0)+116|0;k[f>>2]=c;b=b+-1|0}while((b|0)!=0);td(a,j);wj(j);u=l;return}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+68>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Yh(l,m-e|0,4352);m=k[j>>2]|0;c=m;m=k[m+68>>2]|0}n=(k[c+88>>2]|0)-(k[c+84>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=b+68|0;a=c+84|0;j=c+88|0;h=0;while(1){c=k[a>>2]|0;if((h|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=h*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(h*12|0)>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+4>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+8>>2]<<2)>>2]=d;h=h+1|0;if((h|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Ka(20431,20341,64,20426);else if((d|0)==12)Ka(19400,19419,89,19521);else if((d|0)==13)return c|0;return 0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(qe(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=We(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>20)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(re(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=Xe(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<2097152){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>19)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(se(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=Ye(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<1048576){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>18)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(te(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=Ze(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<262144){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>16)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(ue(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=_e(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<131072){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>15)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(ve(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=$e(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<32768){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>13)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(we(m,b)|0){e=(a|0)>0;if(e?(k[m+12>>2]|0)==0:0){f=0;break}d=af(m,b)|0;if(d&e){f=m+44|0;g=m+48|0;h=m+40|0;i=m+16|0;j=m+28|0;b=0;d=k[g>>2]|0;while(1){a:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break a;o=k[h>>2]|0;e=e+-1|0;k[f>>2]=e;d=l[o+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=k[(k[i>>2]|0)+(p<<2)>>2]|0;e=k[j>>2]|0;d=($(k[e+(o<<3)>>2]|0,d>>>12)|0)+p-(k[e+(o<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(b<<2)>>2]=o;b=b+1|0;if((b|0)==(a|0)){f=1;break}}}else f=d}else f=0;while(0);d=k[m+28>>2]|0;if(d|0){e=m+32|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-8-d|0)>>>3)<<3);_r(d)}d=k[m+16>>2]|0;if(d|0){e=m+20|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);_r(d)}b=k[m>>2]|0;if(!b){u=n;return f|0}d=m+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);_r(b);u=n;return f|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[a+8>>2]|0;j=a+112|0;c=k[j>>2]|0;m=k[c+68>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Yh(l,m-e|0,4352);m=k[j>>2]|0;c=m;m=k[m+68>>2]|0}n=(k[c+88>>2]|0)-(k[c+84>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=b+68|0;a=c+84|0;j=c+88|0;h=0;while(1){c=k[a>>2]|0;if((h|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=h*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(h*12|0)>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+4>>2]<<2)>>2]=d;d=k[f+(k[(k[p>>2]|0)+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+8>>2]<<2)>>2]=d;h=h+1|0;if((h|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Ka(20431,20341,64,20426);else if((d|0)==12)Ka(19400,19419,89,19521);else if((d|0)==13)return c|0;return 0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)mn(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=((c+-4-a|0)>>>2)+1|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+(e<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);_r(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}f=jo(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=((c+-4-m|0)>>>2)+1|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+(e<<2);return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)mn(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=c+-4-a|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+((e>>>2)+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);_r(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}f=jo(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=c+-4-m|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+((e>>>2)+1<<2);return}function zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;f=Xr(c>>>0>1073741823?-1:c<<2)|0;g=a+28|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)Yr(b);e=a+4|0;f=k[(k[e>>2]|0)+32>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=Fp(d|0,k[h+4>>2]|0,b|0,0)|0;m=M;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}Gh(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=Fp(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=M;b=(k[e>>2]|0)+32|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=Fp(e|0,k[n+4>>2]|0,4,0)|0;j=M;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+32|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=Fp(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=M;b=k[b>>2]|0;n=b+8|0;m=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(k[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}b=i[(k[b>>2]|0)+d>>0]|0;m=Fp(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=M;if((b&255)>31){n=0;return n|0}k[a+24>>2]=b&255;n=1;return n|0}function Ag(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+636|0;b=k[f>>2]|0;if(b|0){g=a+640|0;c=k[g>>2]|0;if((c|0)!=(b|0)){d=c;while(1){c=d+-12|0;k[g>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}if((c|0)==(b|0))break;else d=c}b=k[f>>2]|0}_r(b)}f=a+624|0;b=k[f>>2]|0;if(b|0){g=a+628|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+612>>2]|0;if(b|0){c=a+616|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+600>>2]|0;if(!b){g=a+580|0;dm(g);g=a+560|0;dm(g);g=a+540|0;dm(g);g=a+524|0;ds(g);a=a+12|0;Zj(a);return}c=a+604|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);g=a+580|0;dm(g);g=a+560|0;dm(g);g=a+540|0;dm(g);g=a+524|0;ds(g);a=a+12|0;Zj(a);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4340;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;if(e|0){if((e|0)<0)Jq(f);e=((e+-1|0)>>>5)+1|0;o=jo(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j)}f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){u=n;return}if((e|0)<0)Jq(f);o=((e+-1|0)>>>5)+1|0;a=jo(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j);u=n;return}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;h=d;f=k[h+4>>2]|0;j=b+16|0;g=j;c=k[g>>2]|0;g=k[g+4>>2]|0;if(!((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[a+12>>0]=i[(k[b>>2]|0)+c>>0]|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Fp(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=M;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=Fp(h|0,g|0,5,0)|0;h=M;if((f|0)<(h|0)|(f|0)==(h|0)&d>>>0>>0){j=0;return j|0}c=k[b>>2]|0;e=c+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=j;k[b>>2]=g;k[b+4>>2]=h;f=Wo(d|0,f|0,g|0,h|0)|0;b=M;if(0>(b|0)|0==(b|0)&e>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((e|0)<1){j=0;return j|0}k[a>>2]=c;d=e+-1|0;b=c+d|0;a:do switch((l[b>>0]|0)>>>6&3){case 0:{k[a+4>>2]=d;c=i[b>>0]&63;break}case 1:if((e|0)<2){j=0;return j|0}else{k[a+4>>2]=e+-2;c=c+e+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);break a}case 2:if((e|0)<3){j=0;return j|0}else{k[a+4>>2]=e+-3;c=c+e+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;break a}default:{j=0;return j|0}}while(0);f=c+4096|0;k[a+8>>2]=f;if(f>>>0>1048575){j=0;return j|0}a=Fp(g|0,h|0,e|0,0)|0;k[j>>2]=a;k[j+4>>2]=M;j=1;return j|0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;i=g;do if(d-g>>2>>>0>=b>>>0){a=a+4|0;h=k[a>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=i;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=i+(b<<2)|0;if((h|0)==(d|0))return;else{e=a;d=h+(~((h+-4-d|0)>>>2)<<2)|0;break}}else{f=b-f|0;d=f;e=h;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}e=a;d=h+(f<<2)|0;break}}else{f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);_r(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;i=d-e|0;d=i>>1;d=i>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}g=jo(d<<2)|0;f=a+4|0;k[f>>2]=g;k[a>>2]=g;k[h>>2]=g+(d<<2);d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}e=f;d=g+(b<<2)|0}while(0);k[e>>2]=d;return}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4388;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;if(e|0){if((e|0)<0)Jq(f);e=((e+-1|0)>>>5)+1|0;o=jo(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j)}f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){u=n;return}if((e|0)<0)Jq(f);o=((e+-1|0)>>>5)+1|0;a=jo(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ug(f,i,j);u=n;return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=a+8|0;d=k[j>>2]|0;l=a+4|0;f=k[l>>2]|0;e=f;if(((d-f|0)/12|0)>>>0>=b>>>0){_j(f|0,0,b*12|0)|0;k[l>>2]=e+(b*12|0);return}c=k[a>>2]|0;g=((f-c|0)/12|0)+b|0;if(g>>>0>357913941){Jq(a);e=k[l>>2]|0;c=k[a>>2]|0;d=k[j>>2]|0;f=e}i=c;h=(d-c|0)/12|0;d=h<<1;g=h>>>0<178956970?(d>>>0>>0?g:d):357913941;d=(f-c|0)/12|0;do if(g)if(g>>>0>357913941){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{f=jo(g*12|0)|0;break}else f=0;while(0);h=f+(d*12|0)|0;d=h;g=f+(g*12|0)|0;_j(h|0,0,b*12|0)|0;f=h+(b*12|0)|0;if((e|0)==(i|0))h=c;else{c=h;do{b=c+-12|0;h=e;e=e+-12|0;k[b>>2]=0;m=c+-8|0;k[m>>2]=0;k[c+-4>>2]=0;k[b>>2]=k[e>>2];b=h+-8|0;k[m>>2]=k[b>>2];h=h+-4|0;k[c+-4>>2]=k[h>>2];k[h>>2]=0;k[b>>2]=0;k[e>>2]=0;c=d+-12|0;d=c}while((e|0)!=(i|0));h=k[a>>2]|0;e=k[l>>2]|0}k[a>>2]=d;k[l>>2]=f;k[j>>2]=g;g=h;if((e|0)!=(g|0))do{c=e;e=e+-12|0;f=k[e>>2]|0;if(f|0){c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(f|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);_r(f)}}while((e|0)!=(g|0));if(!h)return;_r(h);return}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=c;f=b;i=l-f|0;h=i>>2;j=a+8|0;e=k[j>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>e-g>>2>>>0){f=g;if(!g)d=e;else{e=a+4|0;c=k[e>>2]|0;if((c|0)!=(d|0))k[e>>2]=c+(~((c+-4-g|0)>>>2)<<2);_r(f);k[j>>2]=0;k[e>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823){Jq(a);e=k[a>>2]|0;d=k[j>>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){Jq(a);b=Ma(4)|0;Cr(b);wa(b|0,1344,125)}e=jo(d<<2)|0;c=a+4|0;k[c>>2]=e;k[a>>2]=e;k[j>>2]=e+(d<<2);if((i|0)<=0)return;Gh(e|0,b|0,i|0)|0;k[c>>2]=e+(i>>>2<<2);return}j=a+4|0;i=k[j>>2]|0;g=i-g>>2;a=h>>>0>g>>>0;h=a?b+(g<<2)|0:c;g=i;if((h|0)!=(b|0)){f=h+-4-f|0;e=b;c=d;while(1){k[c>>2]=k[e>>2];e=e+4|0;if((e|0)==(h|0))break;else c=c+4|0}d=d+((f>>>2)+1<<2)|0}if(a){d=l-h|0;if((d|0)<=0)return;Gh(i|0,h|0,d|0)|0;k[j>>2]=(k[j>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=u;u=u+32|0;j=n;l=a+8|0;d=k[l>>2]|0;m=a+4|0;e=k[m>>2]|0;if(d-e>>2>>>0>=b>>>0){_j(e|0,0,b<<2|0)|0;k[m>>2]=e+(b<<2);u=n;return}c=k[a>>2]|0;f=(e-c>>2)+b|0;if(f>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[l>>2]|0;e=k[m>>2]|0}h=d-c|0;i=h>>1;f=h>>2>>>0<536870911?(i>>>0>>0?f:i):1073741823;c=e-c>>2;k[j+12>>2]=0;k[j+16>>2]=a+8;do if(f)if(f>>>0>1073741823){n=Ma(4)|0;Cr(n);wa(n|0,1344,125)}else{d=jo(f<<2)|0;break}else d=0;while(0);k[j>>2]=d;e=d+(c<<2)|0;h=j+8|0;g=j+4|0;k[g>>2]=e;i=j+12|0;k[i>>2]=d+(f<<2);_j(e|0,0,b<<2|0)|0;k[h>>2]=e+(b<<2);e=k[a>>2]|0;c=k[m>>2]|0;if((c|0)==(e|0)){f=g;d=k[g>>2]|0}else{d=k[g>>2]|0;do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=b;d=(k[g>>2]|0)+-4|0;k[g>>2]=d}while((c|0)!=(e|0));f=g;e=k[a>>2]|0;c=k[m>>2]|0}k[a>>2]=d;k[f>>2]=e;k[m>>2]=k[h>>2];k[h>>2]=c;m=k[l>>2]|0;k[l>>2]=k[i>>2];k[i>>2]=m;k[j>>2]=k[f>>2];_i(j);u=n;return}function Ig(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=a+12|0;f=k[a>>2]|0;h=a+8|0;b=k[h>>2]|0;c=(b|0)<0;if(!(i[g>>0]|0)){do if(!c)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}while(0);do if(!(1<<(b&31)&k[(k[f>>2]|0)+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}else b=-1073741824;while(0);k[h>>2]=b;return}d=b+1|0;if(!c)b=((d|0)%3|0|0)==0?b+-2|0:d;d=k[f>>2]|0;if(!(1<<(b&31)&k[d+(b>>>5<<2)>>2]))if((b|0)>=0){b=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[h>>2]=b;if((b|0)>=0){if((b|0)!=(k[a+4>>2]|0))return;k[h>>2]=-1073741824;return}}else e=7}else e=7;else{b=-1073741824;e=7}if((e|0)==7)k[h>>2]=b;b=k[a+4>>2]|0;do if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}while(0);do if(!(1<<(b&31)&k[d+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}else b=-1073741824;while(0);k[h>>2]=b;i[g>>0]=0;return}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=k[a>>2]|0;o=a+4|0;c=k[o>>2]|0;j=n;d=c+(~((c+-4-j|0)>>>2)<<2)|0;if((c|0)==(n|0))d=n;else{k[o>>2]=d;c=d}s=a+16|0;k[s>>2]=0;t=a+12|0;k[t>>2]=d;i=b+8|0;d=i;m=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;f=r;g=k[f>>2]|0;f=Fp(g|0,k[f+4>>2]|0,4,0)|0;e=M;if((d|0)<(e|0)|(d|0)==(e|0)&m>>>0>>0){b=0;return b|0}p=(k[b>>2]|0)+g|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;h=r;k[h>>2]=f;k[h+4>>2]=e;if(!((p|0)!=0&(p&3|0)==0)){b=0;return b|0}h=Wo(m|0,d|0,f|0,e|0)|0;g=M;if(0>(g|0)|0==(g|0)&p>>>0>h>>>0){b=0;return b|0}h=p>>>2;g=c-j>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(q=n+(h<<2)|0,(c|0)!=(q|0)):0){k[o>>2]=c+(~((c+-4-q|0)>>>2)<<2);c=m}else c=m;else{oj(a,h-g|0);c=i;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}q=Fp(f|0,e|0,p|0,0)|0;o=M;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0>>0){b=0;return b|0}Gh(k[a>>2]|0,(k[b>>2]|0)+f|0,p|0)|0;q=r;q=Fp(k[q>>2]|0,k[q+4>>2]|0,p|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=M;k[t>>2]=k[a>>2];k[s>>2]=0;b=1;return b|0}function Kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+80|0;j=m;h=m+60|0;l=m+40|0;e=j;f=c;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));tc(a,j,h);if(k[a>>2]|0){l=j+24|0;ds(l);u=m;return}f=a+4|0;Jp(f);if(i[h+7>>0]|0){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;Jk(l,17587,27);k[a>>2]=-1;gm(f,l);Jp(l);l=j+24|0;ds(l);u=m;return}bi(l,i[h+8>>0]|0);e=k[l>>2]|0;if(!e){h=l+16|0;e=k[h>>2]|0;k[h>>2]=0;Sd(a,e,b,c,d);if(!(k[a>>2]|0)){Jp(f);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0}if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e)}else{k[a>>2]=e;gm(f,l+4|0)}d=l+16|0;e=k[d>>2]|0;k[d>>2]=0;if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e);Jp(l+4|0);l=j+24|0;ds(l);u=m;return}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+80|0;j=m;h=m+60|0;l=m+40|0;e=j;f=c;g=e+40|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));tc(a,j,h);if(k[a>>2]|0){l=j+24|0;ds(l);u=m;return}f=a+4|0;Jp(f);if((i[h+7>>0]|0)!=1){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;Jk(l,17566,20);k[a>>2]=-1;gm(f,l);Jp(l);l=j+24|0;ds(l);u=m;return}kj(l,i[h+8>>0]|0);e=k[l>>2]|0;if(!e){h=l+16|0;e=k[h>>2]|0;k[h>>2]=0;fn(a,e,b,c,d);if(!(k[a>>2]|0)){Jp(f);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0}if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e)}else{k[a>>2]=e;gm(f,l+4|0)}d=l+16|0;e=k[d>>2]|0;k[d>>2]=0;if(e|0)Ta[k[(k[e>>2]|0)+4>>2]&127](e);Jp(l+4|0);l=j+24|0;ds(l);u=m;return}function Mg(a,b,c,d){a=a|0;b=da(b);c=da(c);d=d|0;var e=Pa,f=Pa,g=Pa,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;if(!(b>=da(0.0)))Ka(9616,9461,191,9630);if(!(c>=da(0.0)))Ka(9659,9461,192,9630);if(!(b<=da(1.0)))Ka(9673,9461,193,9630);if(!(c<=da(1.0)))Ka(9687,9461,194,9630);e=da(b+c);f=da(b-c);if(!(f<=da(.5))|(!(f>=da(-.5))|(!(e>=da(.5))|!(e<=da(1.5))))){do if(!(e<=da(.5))){if(e>=da(1.5)){g=da(da(1.5)-c);c=da(da(1.5)-b);break}if(!(f<=da(-.5))){g=da(c+da(.5));c=da(b+da(-.5));break}else{g=da(c+da(-.5));c=da(b+da(.5));break}}else{g=da(da(.5)-c);c=da(da(.5)-b)}while(0);e=da(c+g);f=da(g-c);h=-1.0}else{h=1.0;g=b}b=da(+g*2.0+-1.0);g=da(+c*2.0+-1.0);k=+e*2.0;i=k+-1.0;k=3.0-k;l=+f*2.0;j=l+1.0;l=1.0-l;j=l>2]=da(0.0);b=da(0.0);c=da(0.0);a=d+4|0;o[a>>2]=c;d=d+8|0;o[d>>2]=b;return}else{f=da(da(1.0)/da(P(da(f))));c=da(e*f);o[d>>2]=c;c=da(g*f);b=da(b*f);a=d+4|0;o[a>>2]=b;d=d+8|0;o[d>>2]=c;return}}function Ng(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+128|0;b=k[f>>2]|0;if(b|0){g=a+132|0;c=k[g>>2]|0;if((c|0)!=(b|0)){d=c;while(1){c=d+-12|0;k[g>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}if((c|0)==(b|0))break;else d=c}b=k[f>>2]|0}_r(b)}f=a+116|0;b=k[f>>2]|0;if(b|0){g=a+120|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+104>>2]|0;if(b|0){c=a+108|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+92>>2]|0;if(!b){g=a+72|0;dm(g);g=a+52|0;dm(g);g=a+32|0;dm(g);a=a+12|0;dm(a);return}c=a+96|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);g=a+72|0;dm(g);g=a+52|0;dm(g);g=a+32|0;dm(g);a=a+12|0;dm(a);return}function Og(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=a+8|0;h=a+100|0;b=k[l>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)>>2;k[i>>2]=0;c=a+104|0;f=k[c>>2]|0;e=k[h>>2]|0;d=f-e>>2;if(b>>>0<=d>>>0){if(b>>>0>>0?(g=e+(b<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Yh(h,b-d|0,i);d=a+120|0;a=k[d>>2]|0;if(!a){h=k[l>>2]|0;h=(k[h+4>>2]|0)-(k[h>>2]|0)>>2;b=(h>>>0)/3|0;if(h>>>0<=2){u=m;return 1}a=0;do{k[j>>2]=a*3;k[i>>2]=k[j>>2];Qb(l,i);a=a+1|0}while((a|0)<(b|0));u=m;return 1}else{c=k[a>>2]|0;if((k[a+4>>2]|0)==(c|0)){u=m;return 1}b=0;a=c;do{k[j>>2]=k[a+(b<<2)>>2];k[i>>2]=k[j>>2];Qb(l,i);b=b+1|0;h=k[d>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);u=m;return 1}return 0}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=k[b>>2]|0;l=k[j>>2]|0;g=k[a+4>>2]|0;b=k[j+4>>2]|0;h=g+-1|0;e=(h&g|0)==0;if(e)f=h&b;else f=(b>>>0)%(g>>>0)|0;c=(k[a>>2]|0)+(f<<2)|0;i=k[c>>2]|0;while(1){b=k[i>>2]|0;if((b|0)==(j|0))break;else i=b}if((i|0)!=(a+8|0)){b=k[i+4>>2]|0;if(e)b=b&h;else b=(b>>>0)%(g>>>0)|0;if((b|0)==(f|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=k[l+4>>2]|0;if(e)b=b&h;else b=(b>>>0)%(g>>>0)|0;if((b|0)==(f|0)){c=l;b=l;d=19;break}}k[c>>2]=0;c=k[j>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=k[c+4>>2]|0;if(e)c=c&h;else c=(c>>>0)%(g>>>0)|0;if((c|0)!=(f|0)){k[(k[a>>2]|0)+(c<<2)>>2]=i;b=k[j>>2]|0}}k[i>>2]=b;k[j>>2]=0;a=a+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(!j)return l|0;b=k[j+20>>2]|0;if(b|0){c=j+24|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}Jp(j+8|0);_r(j);return l|0}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+124|0;b=k[f>>2]|0;if(b|0){g=a+128|0;c=k[g>>2]|0;if((c|0)!=(b|0)){d=c;while(1){c=d+-12|0;k[g>>2]=c;e=k[c>>2]|0;if(e){c=d+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}if((c|0)==(b|0))break;else d=c}b=k[f>>2]|0}_r(b)}f=a+112|0;b=k[f>>2]|0;if(b|0){g=a+116|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+100>>2]|0;if(b|0){c=a+104|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+88>>2]|0;if(!b){g=a+68|0;dm(g);g=a+48|0;dm(g);g=a+28|0;dm(g);a=a+12|0;ds(a);return}c=a+92|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);g=a+68|0;dm(g);g=a+48|0;dm(g);g=a+28|0;dm(g);a=a+12|0;ds(a);return}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=u;u=u+112|0;f=j+96|0;i=j+16|0;h=j+4|0;g=j;c=i+76|0;d=i;e=d+76|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[c>>2]=-1073741824;k[h>>2]=0;e=h+4|0;k[e>>2]=0;k[h+8>>2]=0;k[g>>2]=h;k[f>>2]=k[g>>2];if(Nd(i,a,f)|0){f=k[h>>2]|0;yg(b,f,f+((k[e>>2]|0)-f>>2<<2)|0);f=k[i+68>>2]|0}else f=0;c=k[h>>2]|0;if(c|0){d=k[e>>2]|0;if((d|0)!=(c|0))k[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c)}c=k[i+56>>2]|0;if(c|0)_r(c);c=k[i+32>>2]|0;if(c|0){d=i+36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[i+20>>2]|0;if(c|0){d=i+24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[i+8>>2]|0;if(c|0){d=i+12|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}i=i+4|0;c=k[i>>2]|0;k[i>>2]=0;if(!c){u=j;return f|0}mk(c);_r(c);u=j;return f|0}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;k[b>>2]=1;d=a+4|0;j=b+8|0;h=b+12|0;b=k[j>>2]|0;c=(k[h>>2]|0)-b|0;if(c>>>0<4294967292){Al(j,c+4|0,0);b=k[j>>2]|0}f=b+c|0;g=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=g;i[f+1>>0]=g>>8;i[f+2>>0]=g>>16;i[f+3>>0]=g>>24;f=a+8|0;g=a+12|0;b=k[f>>2]|0;if((k[g>>2]|0)!=(b|0)){e=0;do{c=b+(e<<2)|0;b=k[j>>2]|0;d=(k[h>>2]|0)-b|0;if(d>>>0<4294967292){Al(j,d+4|0,0);b=k[j>>2]|0}b=b+d|0;d=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[b>>0]=d;i[b+1>>0]=d>>8;i[b+2>>0]=d>>16;i[b+3>>0]=d>>24;e=e+1|0;b=k[f>>2]|0}while(e>>>0<(k[g>>2]|0)-b>>2>>>0)}c=a+20|0;d=k[j>>2]|0;b=(k[h>>2]|0)-d|0;if(b>>>0<4294967292){Al(j,b+4|0,0);j=k[j>>2]|0;j=j+b|0;h=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=h;i[j+1>>0]=h>>8;i[j+2>>0]=h>>16;i[j+3>>0]=h>>24;return}else{j=d;j=j+b|0;h=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=h;i[j+1>>0]=h>>8;i[j+2>>0]=h>>16;i[j+3>>0]=h>>24;return}}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=c;g=b;h=i-g|0;f=h>>2;l=a+8|0;d=k[l>>2]|0;m=k[a>>2]|0;j=m;if(f>>>0<=d-m>>2>>>0){h=a+4|0;e=(k[h>>2]|0)-m>>2;a=f>>>0>e>>>0;f=a?b+(e<<2)|0:c;e=f;d=e-g|0;c=d>>2;if(c|0)mn(m|0,b|0,d|0)|0;c=j+(c<<2)|0;if(a){d=i-e|0;if((d|0)<=0)return;Gh(k[h>>2]|0,f|0,d|0)|0;k[h>>2]=(k[h>>2]|0)+(d>>>2<<2);return}else{d=k[h>>2]|0;if((d|0)==(c|0))return;k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=m;if(m){d=a+4|0;c=k[d>>2]|0;if((c|0)!=(j|0))k[d>>2]=c+(~((c+-4-m|0)>>>2)<<2);_r(e);k[l>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(f>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[l>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?f:d):1073741823;if(d>>>0>1073741823){Jq(a);b=Ma(4)|0;Cr(b);wa(b|0,1344,125)}c=jo(d<<2)|0;e=a+4|0;k[e>>2]=c;k[a>>2]=c;k[l>>2]=c+(d<<2);if((h|0)<=0)return;Gh(c|0,b|0,h|0)|0;k[e>>2]=c+(h>>>2<<2);return}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=u;u=u+48|0;n=q+40|0;m=q+32|0;i=q+8|0;j=q;l=q+24|0;p=q+16|0;f=a+4|0;r=k[f>>2]|0;d=b;o=k[d>>2]|0;d=k[d+4>>2]|0;g=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=e-o<<3;k[f>>2]=r-d+g+h;f=(k[a>>2]|0)+(r>>>5<<2)|0;c=r&31;b=f;if((d|0)!=(c|0)){r=i;k[r>>2]=o;k[r+4>>2]=d;r=j;k[r>>2]=e;k[r+4>>2]=g;k[l>>2]=b;k[l+4>>2]=c;k[m>>2]=k[i>>2];k[m+4>>2]=k[i+4>>2];k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];Ve(p,m,n,l);u=q;return}c=g-d+h|0;g=o;if((c|0)>0){if(!d){d=0;b=o}else{b=32-d|0;r=(c|0)<(b|0)?c:b;b=-1>>>(b-r|0)&-1<>2]=k[f>>2]&~b|k[g>>2]&b;b=r+d|0;g=g+4|0;c=c-r|0;d=b&31;f=f+(b>>>5<<2)|0;b=g}e=c>>>5;mn(f|0,b|0,e<<2|0)|0;a=c-(e<<5)|0;c=f+(e<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(e<<2)>>2]&d;d=a}}k[p>>2]=b;k[p+4>>2]=d;u=q;return}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=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;d=k[a+40>>2]|0;m=k[a+44>>2]|0;if((d|0)==(m|0)){t=0;u=v;return t|0}n=s+11|0;h=s+4|0;j=c+11|0;l=c+4|0;a=d;a:while(1){k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;do if($j(k[a>>2]|0,b,s)|0?(p=i[n>>0]|0,o=p<<24>>24<0,p=p&255,q=o?k[h>>2]|0:p,g=i[j>>0]|0,r=g<<24>>24<0,(q|0)==((r?k[l>>2]|0:g&255)|0)):0){e=k[s>>2]|0;f=o?e:s;d=r?k[c>>2]|0:c;g=(q|0)==0;if(o){if(g)break a;if(!(lm(f,d,q)|0))break a;else break}if(g)break a;if((e&255)<<24>>24==(i[d>>0]|0)){f=p;e=s;do{f=f+-1|0;e=e+1|0;if(!f)break a;d=d+1|0}while((i[e>>0]|0)==(i[d>>0]|0))}}while(0);Jp(s);a=a+4|0;if((a|0)==(m|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=k[a>>2]|0;Jp(s);u=v;return t|0}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=k[c>>2]|0;m=k[c+4>>2]|0;a:do if((d|0)==(m|0)){n=0;o=a+12|0;p=a+8|0}else{j=k[b>>2]|0;l=a+8|0;h=a+12|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){a=b>>2;b=0;do{e=k[c+(b<<2)>>2]|0;if(i[e+84>>0]|0)break b;e=k[e+68>>2]|0;k[e+(g<<2)>>2]=k[e+(f<<2)>>2];b=b+1|0}while((b|0)<(a|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=c;o=h;p=l;break a}}Ka(19400,19419,89,19521)}while(0);b=k[o>>2]|0;c=k[p>>2]|0;if((b-c|0)>0)h=0;else return;do{d=k[c+(h<<2)>>2]|0;i[d+84>>0]=0;a=d+68|0;d=d+72|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(n>>>0<=e>>>0){if(n>>>0>>0?(q=f+(n<<2)|0,(g|0)!=(q|0)):0)k[d>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Yh(a,n-e|0,4840);c=k[p>>2]|0;b=k[o>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=Pa,h=Pa,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Pa,x=Pa,y=0,z=0;v=u;u=u+16|0;m=v;n=k[a+24>>2]|0;t=a+8|0;c=i[(k[t>>2]|0)+24>>0]|0;q=c<<24>>24;r=q<<2;s=Xr(q>>>0>1073741823?-1:q<<2)|0;tq(m);Do(m,da(o[a+32>>2]),(1<>2]|0;n=(k[k[n>>2]>>2]|0)+(k[n+48>>2]|0)|0;if(!b){Yr(s);u=v;return 1}p=m+4|0;l=a+28|0;if(c<<24>>24>0){c=0;d=0;e=0}else{a=0;c=0;while(1){Gh((k[k[(k[t>>2]|0)+64>>2]>>2]|0)+c|0,s|0,r|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+r|0}Yr(s);u=v;return 1}while(1){j=k[l>>2]|0;g=da(o[p>>2]);h=da(o[m>>2]);a=0;f=e;while(1){z=k[n+(f<<2)>>2]|0;y=(z|0)<0;w=da(g*da((y?0-z|0:z)|0));x=da(-w);w=da(h*(y?x:w));w=da(da(o[j+(a<<2)>>2])+w);o[s+(a<<2)>>2]=w;a=a+1|0;if((a|0)==(q|0))break;else f=f+1|0}Gh((k[k[(k[t>>2]|0)+64>>2]>>2]|0)+d|0,s|0,r|0)|0;c=c+1|0;if((c|0)==(b|0))break;else{d=d+r|0;e=q+e|0}}Yr(s);u=v;return 1}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=b+16|0;m=k[j>>2]|0;f=(k[c>>2]|0)-m|0;i=c+4|0;h=(k[i>>2]|0)-m|0;g=c;k[g>>2]=f;k[g+4>>2]=h;g=k[j>>2]|0;if((g|0)<(f|0))Ka(10176,9461,250,10199);if((g|0)<(h|0))Ka(10211,9461,251,10199);e=0-g|0;if((f|0)<(e|0))Ka(10234,9461,252,10199);if((h|0)<(e|0))Ka(10258,9461,253,10199);if((((h|0)>-1?h:0-h|0)+((f|0)>-1?f:0-f|0)|0)>(g|0)){Ri(b+4|0,c,i);l=0;c=k[c>>2]|0;e=k[i>>2]|0;g=k[j>>2]|0}else{l=1;c=f;e=h}c=(k[d>>2]|0)+c|0;k[a>>2]=c;e=(k[d+4>>2]|0)+e|0;f=a+4|0;k[f>>2]=e;if((g|0)>=(c|0)){if((c|0)<(0-g|0))c=(k[b+8>>2]|0)+c|0}else c=c-(k[b+8>>2]|0)|0;k[a>>2]=c;if((g|0)>=(e|0)){if((e|0)<(0-g|0))e=(k[b+8>>2]|0)+e|0}else e=e-(k[b+8>>2]|0)|0;k[f>>2]=e;if(l){l=c;b=e;l=l+m|0;b=b+m|0;m=a;a=m;k[a>>2]=l;m=m+4|0;k[m>>2]=b;return}Ri(b+4|0,a,f);l=k[a>>2]|0;b=k[f>>2]|0;l=l+m|0;b=b+m|0;m=a;a=m;k[a>>2]=l;m=m+4|0;k[m>>2]=b;return}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;i=j[b>>1]|0;l=j[b+2>>1]|0;h=j[b+4>>1]|0;g=j[b+6>>1]|0;b=((((i^318)&65535)+239^l&65535)+239^h&65535)+239^g&65535;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=i[b>>0]|0;l=i[b+1>>0]|0;h=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((j&255^318)+239^l&255)+239^h&255)+239^g&255;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function $g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i;k[g>>2]=b;if((b|0)<=-1)Ka(19538,19550,94,19650);h=a+8|0;if(((k[a+12>>2]|0)-(k[h>>2]|0)>>2|0)<=(b|0))si(h,b+1|0);d=k[(k[c>>2]|0)+56>>2]|0;do if((d|0)<4){e=a+20+(d*12|0)+4|0;f=k[e>>2]|0;if((f|0)==(k[a+20+(d*12|0)+8>>2]|0)){Dj(a+20+(d*12|0)|0,g);break}else{k[f>>2]=b;k[e>>2]=f+4;break}}while(0);f=k[c>>2]|0;e=k[g>>2]|0;k[f+60>>2]=e;h=(k[h>>2]|0)+(e<<2)|0;k[c>>2]=0;e=k[h>>2]|0;k[h>>2]=f;if(!e){u=i;return}h=e+88|0;a=k[h>>2]|0;k[h>>2]=0;if(a|0){b=k[a+8>>2]|0;if(b|0){d=a+12|0;if((k[d>>2]|0)!=(b|0))k[d>>2]=b;_r(b)}_r(a)}a=k[e+68>>2]|0;if(a|0){b=e+72|0;d=k[b>>2]|0;if((d|0)!=(a|0))k[b>>2]=d+(~((d+-4-a|0)>>>2)<<2);_r(a)}h=e+64|0;a=k[h>>2]|0;k[h>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){d=a+4|0;if((k[d>>2]|0)!=(b|0))k[d>>2]=b;_r(b)}_r(a)}_r(e);u=i;return}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=b;f=c-g|0;h=a+8|0;d=k[h>>2]|0;e=k[a>>2]|0;j=e;if(f>>>0>(d-e|0)>>>0){if(e){d=a+4|0;if((k[d>>2]|0)!=(j|0))k[d>>2]=j;_r(j);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if((f|0)<0){Jq(a);e=k[a>>2]|0;d=k[h>>2]|0}else e=0;j=d-e|0;e=j<<1;e=j>>>0<1073741823?(e>>>0>>0?f:e):2147483647;if((e|0)<0)Jq(a);d=jo(e)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[h>>2]=d+e;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;b=b+1|0;d=(k[f>>2]|0)+1|0;k[f>>2]=d}while((b|0)!=(c|0));return}else{h=a+4|0;d=(k[h>>2]|0)-e|0;a=f>>>0>d>>>0;d=b+d|0;f=a?d:c;e=f-g|0;if(e|0)mn(j|0,b|0,e|0)|0;b=j+e|0;if(!a){if((k[h>>2]|0)==(b|0))return;k[h>>2]=b;return}if((f|0)==(c|0))return;b=k[h>>2]|0;do{i[b>>0]=i[d>>0]|0;d=d+1|0;b=(k[h>>2]|0)+1|0;k[h>>2]=b}while((d|0)!=(c|0));return}}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;e=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;if(e-d>>2>>>0>=b>>>0){_j(d|0,0,b<<2|0)|0;k[n>>2]=d+(b<<2);return}c=k[a>>2]|0;g=(d-c>>2)+b|0;if(g>>>0>1073741823){Jq(a);f=k[a>>2]|0;d=k[n>>2]|0;e=k[m>>2]|0}else f=c;c=d;l=f;j=e-f|0;h=j>>1;g=j>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;h=d-f>>2;do if(g)if(g>>>0>1073741823){n=Ma(4)|0;Cr(n);wa(n|0,1344,125)}else{i=jo(g<<2)|0;break}else i=0;while(0);d=i+(h<<2)|0;_j(d|0,0,b<<2|0)|0;e=d;j=i+(g<<2)|0;g=i+(h+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=b;d=e+-4|0;e=d}while((c|0)!=(l|0));f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=e;k[n>>2]=g;k[m>>2]=j;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ta[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;_r(f);return}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[b>>2]|0;i=k[b+4>>2]|0;j=k[b+8>>2]|0;g=k[b+12>>2]|0;b=(((h^318)+239^i)+239^j)+239^g;d=k[a+4>>2]|0;if(!d){j=0;return j|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){j=0;return j|0}b=k[b>>2]|0;if(!b){j=0;return j|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;h=c+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=c+16|0;e=j;d=k[e>>2]|0;e=k[e+4>>2]|0;if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){f=i[(k[c>>2]|0)+d>>0]|0;d=Fp(d|0,e|0,1,0)|0;e=M;o=j;k[o>>2]=d;k[o+4>>2]=e;if(f<<24>>24!=-2)m=3}else{f=0;m=3}if((m|0)==3){if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){o=i[(k[c>>2]|0)+d>>0]|0;m=Fp(d|0,e|0,1,0)|0;d=j;k[d>>2]=m;k[d+4>>2]=M;d=o}else d=0;m=Ra[k[(k[a>>2]|0)+40>>2]&31](a,f<<24>>24,d<<24>>24)|0;o=a+20|0;d=k[o>>2]|0;k[o>>2]=m;if(d|0)Ta[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+20>>2]|0;if(d|0?!(_a[k[(k[a>>2]|0)+28>>2]&127](a,d)|0):0){o=0;return o|0}if(!(Ra[k[(k[a>>2]|0)+36>>2]&31](a,b,c)|0)){o=0;return o|0}o=k[a+4>>2]|0;if((o|0?((l[o+36>>0]|0)<<8&65535)<512:0)?!(_a[k[(k[a>>2]|0)+48>>2]&127](a,n)|0):0){o=0;return o|0}o=1;return o|0}function eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;j=k[b>>2]|0;if(!j)Ka(10840,11269,54,11514);b=k[b+4>>2]|0;if(!b)Ka(10840,11269,54,11514);b=k[b+(c<<2)>>2]|0;if(!(i[j+84>>0]|0))b=k[(k[j+68>>2]|0)+(b<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;switch(i[j+24>>0]|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];bg(j,d,a)|0;u=l;return}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];ag(j,d,a)|0;u=l;return}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];$f(j,d,a)|0;u=l;return}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];_f(j,d,a)|0;u=l;return}default:{u=l;return}}}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+32>>2]|0;f=b+8|0;h=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+d>>0]|0;b=Fp(d|0,e|0,1,0)|0;d=c;k[d>>2]=b;k[d+4>>2]=M;d=a+48|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=jo(336)|0;wk(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}case 1:{b=jo(376)|0;Hk(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}case 2:{b=jo(392)|0;tj(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}default:g=11}if((g|0)==11){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=_a[k[(k[b>>2]|0)+8>>2]&127](b,a)|0;return h|0}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=k[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>k[e>>2]<<5>>>0){d=k[f>>2]|0;if(d){_r(d);k[f>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[h>>2]|0}if((c|0)<0)Jq(f);d=((c+-1|0)>>>5)+1|0;c=jo(d<<2)|0;k[f>>2]=c;k[a+12>>2]=0;k[e>>2]=d;d=k[h>>2]|0}else{d=c;c=k[f>>2]|0}mn(c|0,k[g>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[h>>2]|0}k[a+12>>2]=c;f=a+20|0;h=b+20|0;g=b+24|0;c=k[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>k[e>>2]<<5>>>0){d=k[f>>2]|0;if(d){_r(d);k[f>>2]=0;k[e>>2]=0;k[a+24>>2]=0;c=k[g>>2]|0}if((c|0)<0)Jq(f);d=((c+-1|0)>>>5)+1|0;c=jo(d<<2)|0;k[f>>2]=c;k[a+24>>2]=0;k[e>>2]=d;d=k[g>>2]|0}else{d=c;c=k[f>>2]|0}mn(c|0,k[h>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[g>>2]|0}k[a+24>>2]=c;return a|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;h=u;u=u+32|0;f=h+16|0;g=h;j=b+8|0;l=k[j+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((l|0)>(e|0)|((l|0)==(e|0)?(k[j>>2]|0)>>>0>d>>>0:0))){l=0;u=h;return l|0}l=i[(k[b>>2]|0)+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;j=c;k[j>>2]=e;k[j+4>>2]=M;if(l<<24>>24){l=0;u=h;return l|0}d=0;do{sk(f,b)|0;c=k[f>>2]|0;if(c|0){e=a+44+(d*12|0)|0;vf(e,c,0);vr(g);Cg(g,b)|0;if(k[f>>2]|0){c=0;do{n=Nl(g)|0;l=(k[e>>2]|0)+(c>>>5<<2)|0;j=1<<(c&31);m=k[l>>2]|0;k[l>>2]=n?m|j:m&~j;c=c+1|0}while(c>>>0<(k[f>>2]|0)>>>0)}ds(g)}d=d+1|0}while((d|0)<4);n=bj(a+8|0,b)|0;u=h;return n|0}function ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;f=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=k[a>>2]|0;g=((d-e|0)/12|0)+b|0;if(g>>>0>357913941){Jq(a);e=k[a>>2]|0;f=k[i>>2]|0;d=k[j>>2]|0}h=(f-e|0)/12|0;f=h<<1;f=h>>>0<178956970?(f>>>0>>0?g:f):357913941;d=(d-e|0)/12|0;do if(f)if(f>>>0>357913941){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{e=jo(f*12|0)|0;break}else e=0;while(0);h=e+(d*12|0)|0;g=e+(f*12|0)|0;d=h;f=h;do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=f+12|0;f=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;e=(k[j>>2]|0)-b|0;d=h+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Gh(d|0,b|0,e|0)|0;k[a>>2]=d;k[j>>2]=f;k[i>>2]=g;if(!b)return;_r(b);return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(Ld(a,b)|0){e=0;return e|0}d=mc(a,b)|0;b=k[c>>2]|0;k[c>>2]=0;e=k[d>>2]|0;k[d>>2]=b;if(!e){e=1;return e|0}a=k[e+28>>2]|0;if(a|0)do{d=a;a=k[a>>2]|0;ij(d+8|0);_r(d)}while((a|0)!=0);d=e+20|0;a=k[d>>2]|0;k[d>>2]=0;if(a|0)_r(a);a=k[e+8>>2]|0;if(a|0)do{b=a;a=k[a>>2]|0;c=k[b+20>>2]|0;if(c|0){d=b+24|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}Jp(b+8|0);_r(b)}while((a|0)!=0);a=k[e>>2]|0;k[e>>2]=0;if(a|0)_r(a);_r(e);e=1;return e|0}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;k[c>>2]=k[b>>2];gh(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];if((c|0)==(b|0)){k[a+96>>2]=k[b+88>>2];return}else{Gg(a+60|0,k[b+52>>2]|0,k[b+56>>2]|0);Gg(a+72|0,k[b+64>>2]|0,k[b+68>>2]|0);Gg(a+84|0,k[b+76>>2]|0,k[b+80>>2]|0);k[a+96>>2]=k[b+88>>2];Tg(a+100|0,k[b+92>>2]|0,k[b+96>>2]|0);return}}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;a=a+4|0;d=k[a>>2]|0;if(!d){k[b>>2]=a;n=a;return n|0}l=i[c+11>>0]|0;j=l<<24>>24<0;l=j?k[c+4>>2]|0:l&255;j=j?k[c>>2]|0:c;a=d;while(1){e=a+16|0;d=i[e+11>>0]|0;f=d<<24>>24<0;d=f?k[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:l;if((c|0)!=0?(m=lm(j,f?k[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)h=7;else h=9;else if(l>>>0>>0)h=7;else h=9;if((h|0)==7){c=k[a>>2]|0;if(!c){h=8;break}else a=c}else if((h|0)==9){h=0;c=l>>>0>>0?l:d;if((c|0)!=0?(n=lm(f?k[e>>2]|0:e,j,c)|0,(n|0)!=0):0){if((n|0)>=0){h=16;break}}else h=11;if((h|0)==11?(0,!g):0){h=16;break}d=a+4|0;c=k[d>>2]|0;if(!c){h=15;break}else a=c}}if((h|0)==8){k[b>>2]=a;n=a;return n|0}else if((h|0)==15){k[b>>2]=a;n=d;return n|0}else if((h|0)==16){k[b>>2]=a;n=b;return n|0}return 0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;h=u;u=u+32|0;f=h+16|0;g=h;j=b+8|0;l=k[j+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((l|0)>(e|0)|((l|0)==(e|0)?(k[j>>2]|0)>>>0>d>>>0:0))){l=0;u=h;return l|0}l=i[(k[b>>2]|0)+d>>0]|0;e=Fp(d|0,e|0,1,0)|0;j=c;k[j>>2]=e;k[j+4>>2]=M;if(l<<24>>24){l=0;u=h;return l|0}d=0;do{sk(f,b)|0;c=k[f>>2]|0;if(c|0){e=a+44+(d*12|0)|0;vf(e,c,0);vr(g);Cg(g,b)|0;if(k[f>>2]|0){c=0;do{n=Nl(g)|0;l=(k[e>>2]|0)+(c>>>5<<2)|0;j=1<<(c&31);m=k[l>>2]|0;k[l>>2]=n?m|j:m&~j;c=c+1|0}while(c>>>0<(k[f>>2]|0)>>>0)}ds(g)}d=d+1|0}while((d|0)<4);n=ej(a+8|0,b)|0;u=h;return n|0}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+80|0;d=h;g=h+64|0;Jm(d);f=k[(k[a+8>>2]|0)+56>>2]|0;e=$(Zm(5)|0,c)|0;rk(d,f,0,c&255,5,0,e,((e|0)<0)<<31>>31,0,0);c=jo(96)|0;vm(c,d);i[c+84>>0]=1;d=k[c+68>>2]|0;e=c+72|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);jk(c,b)|0;k[g>>2]=c;Kj(a,g);f=k[g>>2]|0;k[g>>2]=0;if(!f){u=h;return}g=f+88|0;c=k[g>>2]|0;k[g>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}g=f+64|0;c=k[g>>2]|0;k[g>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f);u=h;return}function oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=a+4|0;d=k[l>>2]|0;c=k[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[l>>2]|0}j=a+8|0;i=(k[j>>2]|0)-c|0;f=i>>1;f=i>>2>>>0<536870911?(f>>>0>>0?e:f):1073741823;c=d-c>>2;do if(f)if(f>>>0>1073741823){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{d=jo(f<<2)|0;break}else d=0;while(0);g=d+(c<<2)|0;e=g;i=d+(f<<2)|0;h=k[b>>2]|0;k[b>>2]=0;k[g>>2]=h;h=g+4|0;b=k[a>>2]|0;c=k[l>>2]|0;if((c|0)==(b|0)){d=e;f=b;c=b}else{d=g;do{c=c+-4|0;g=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=g;d=e+-4|0;e=d}while((c|0)!=(b|0));d=e;f=k[a>>2]|0;c=k[l>>2]|0}k[a>>2]=d;k[l>>2]=h;k[j>>2]=i;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0){Ij(d);_r(d)}}while((c|0)!=(e|0));if(!f)return;_r(f);return}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;e=k[a+8>>2]|0;f=k[c>>2]|0;g=(f|0)/3|0;if((f|0)<=-3)Ka(20316,20341,63,20426);d=k[e+84>>2]|0;if((g|0)>=(((k[e+88>>2]|0)-d|0)/12|0|0))Ka(20431,20341,64,20426);d=k[d+(g*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[a+12>>2]|0;k[h>>2]=d;e=k[e+4>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0))Dj(e,h);else{k[g>>2]=d;k[f>>2]=g+4}d=a+4|0;e=k[d>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0)){Dj(e,c);a=k[d>>2]|0;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;u=i;return}else{k[g>>2]=k[c>>2];k[f>>2]=g+4;a=e;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;u=i;return}}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;f=k[c>>2]|0;k[c>>2]=0;k[h>>2]=f;$g(a,b,h);f=k[h>>2]|0;k[h>>2]=0;if(f|0){h=f+88|0;e=k[h>>2]|0;k[h>>2]=0;if(e|0){c=k[e+8>>2]|0;if(c|0){d=e+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(e)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}h=f+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f)}g=a+72|0;h=a+76|0;c=k[h>>2]|0;f=k[g>>2]|0;a=c-f>>2;if((a|0)>(b|0)){u=i;return}d=b+1|0;e=c;if(d>>>0>a>>>0){ci(g,d-a|0);u=i;return}if(d>>>0>=a>>>0){u=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){u=i;return}k[h>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=k[b>>2]|0;f=k[a>>2]|0;h=f+(e>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(e&31);h=k[a+64>>2]|0;d=(e|0)<0;b=e+1|0;if(!d?(c=((b|0)%3|0|0)==0?e+-2|0:b,(c|0)>=0):0)b=k[(k[h>>2]|0)+(c<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(b<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d)return;c=k[(k[h+12>>2]|0)+(e<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(b<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(b<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;i=o+24|0;j=o+16|0;l=o+8|0;n=o;e=a+4|0;p=k[e>>2]|0;m=k[b>>2]|0;d=k[b+4>>2]|0;h=k[c>>2]|0;f=k[c+4>>2]|0;g=h-m<<3;k[e>>2]=p-d+f+g;e=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=e;if((d|0)!=(c|0)){k[i>>2]=m;k[i+4>>2]=d;k[j>>2]=h;k[j+4>>2]=f;k[l>>2]=b;k[l+4>>2]=c;qf(n,i,j,l);u=o;return}c=f-d+g|0;g=m;if((c|0)>0){if(!d){d=0;b=m}else{p=32-d|0;b=(c|0)<(p|0)?c:p;p=-1>>>(p-b|0)&-1<>2]=k[e>>2]&~p|k[g>>2]&p;d=b+d|0;g=g+4|0;c=c-b|0;e=e+(d>>>5<<2)|0;d=d&31;b=g}f=c>>>5;mn(e|0,b|0,f<<2|0)|0;a=c-(f<<5)|0;c=e+(f<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(f<<2)>>2]&d;d=a}}k[n>>2]=b;k[n+4>>2]=d;u=o;return}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+4|0;m=k[o>>2]|0;n=k[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;if(d>>>0>>0){e=d;g=((c-e>>2)+1|0)/2|0;c=d+(g<<2)|0;e=e-m|0;l=e>>2;f=c+(0-l<<2)|0;if(l){mn(f|0,m|0,e|0)|0;c=f;d=k[n>>2]|0}k[o>>2]=c;k[n>>2]=d+(g<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){o=Ma(4)|0;Cr(o);wa(o|0,1344,125)}h=jo(e<<2)|0;i=h;c=h+((e+3|0)>>>2<<2)|0;j=c;h=h+(e<<2)|0;if((m|0)==(d|0)){e=j;d=m}else{g=c;e=j;f=m;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(d|0));d=k[a>>2]|0}k[a>>2]=i;k[o>>2]=j;k[n>>2]=e;k[l>>2]=h;if(d){_r(d);c=k[o>>2]|0}}else c=m;while(0);k[c+-4>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+-4;return}function uh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ac(a,n,c,d);h=$(d,e)|0;dj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[1211];k[l+4>>2]=k[1212];k[l+8>>2]=k[1213];k[l+12>>2]=k[1214];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=jg(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=ig(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=hg(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=gg(a,d,l)|0;break}default:{l=0;u=m;return l|0}}if(!d){l=0;u=m;return l|0}xg(c,l,l+(j<<2)|0);l=1;u=m;return l|0}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=b+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;p=b+16|0;j=p;h=k[j>>2]|0;j=k[j+4>>2]|0;d=Fp(h|0,j|0,4,0)|0;c=M;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0){p=0;return p|0}m=k[b>>2]|0;e=m+h|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;f=p;k[f>>2]=d;k[f+4>>2]=c;f=Fp(h|0,j|0,8,0)|0;g=M;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){p=0;return p|0}c=m+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;d=p;k[d>>2]=f;k[d+4>>2]=g;k[a+12>>2]=e;k[a+16>>2]=c;e=c+(1-e)|0;k[a+20>>2]=e;c=(e|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(e&1))k[d>>2]=c+-1;if((o|0)>(g|0)|(o|0)==(g|0)&n>>>0>f>>>0?(o=i[m+f>>0]|0,n=Fp(h|0,j|0,9,0)|0,p,k[p>>2]=n,k[p+4>>2]=M,o<<24>>24):0){p=0;return p|0}p=Cg(a+100|0,b)|0;return p|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;f=h+4|0;g=h;c=k[b>>2]|0;if((c|0)<0){g=-1073741824;u=h;return g|0}d=a+4|0;e=k[d>>2]|0;b=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;if((b|0)<0){g=-1073741824;u=h;return g|0}j=c+1|0;k[g>>2]=((j|0)%3|0|0)==0?c+-2|0:j;j=k[a>>2]|0;k[f>>2]=k[g>>2];j=ql(f,e,j)|0;k[g>>2]=(((b>>>0)%3|0|0)==0?2:-1)+b;i=k[d>>2]|0;e=k[a>>2]|0;k[f>>2]=k[g>>2];if((j|0)!=(ql(f,i,e)|0)){j=-1073741824;u=h;return j|0}k[g>>2]=c+(((c>>>0)%3|0|0)==0?2:-1);i=k[d>>2]|0;e=k[a>>2]|0;k[f>>2]=k[g>>2];e=ql(f,i,e)|0;i=b+1|0;k[g>>2]=((i|0)%3|0|0)==0?b+-2|0:i;i=k[d>>2]|0;j=k[a>>2]|0;k[f>>2]=k[g>>2];j=(e|0)!=(ql(f,i,j)|0);j=j?-1073741824:b;u=h;return j|0}function yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];yc(a,n,c,d);h=$(d,e)|0;dj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ac(a,n,c,d);h=$(d,e)|0;gj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+8|0;i=k[n>>2]|0;j=a+12|0;m=k[j>>2]|0;e=m;g=i;do if((i|0)==(m|0)){m=a+4|0;l=k[m>>2]|0;d=k[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;f=l+(e<<2)|0;c=g-d|0;d=c>>2;if(!d)c=l;else{mn(f|0,l|0,c|0)|0;c=k[m>>2]|0}l=f+(d<<2)|0;k[n>>2]=l;k[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){n=Ma(4)|0;Cr(n);wa(n|0,1344,125)}f=jo(c<<2)|0;g=f;e=f+(c>>>2<<2)|0;h=e;f=f+(c<<2)|0;if((l|0)==(i|0))c=h;else{c=h;d=l;do{k[e>>2]=k[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(i|0));d=k[a>>2]|0}k[a>>2]=g;k[m>>2]=h;k[n>>2]=c;k[j>>2]=f;if(d){_r(d);c=k[n>>2]|0}}else c=i;while(0);k[c>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+4;return}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+16|0;e=i+8|0;f=i+4|0;g=i;if(!c){h=0;u=i;return h|0}k[a>>2]=b;k[e>>2]=0;sk(e,b)|0;a:do if(!(k[e>>2]|0))h=8;else{d=0;while(1){sk(f,k[a>>2]|0)|0;b=jo(44)|0;j=k[f>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;o[b+16>>2]=da(1.0);l=b+20|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;o[b+36>>2]=da(1.0);k[b+40>>2]=j;if(!(me(a,b)|0))break;k[g>>2]=b;Uk(c,g)|0;b=k[g>>2]|0;k[g>>2]=0;if(b|0){Ij(b);_r(b)}d=d+1|0;if(d>>>0>=(k[e>>2]|0)>>>0){h=8;break a}}Ij(b);_r(b);b=0}while(0);if((h|0)==8)b=me(a,c)|0;l=b;u=i;return l|0}function Ch(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;o=p;k[a+56>>2]=e;k[a+48>>2]=f;l=Xr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Yr(d);i=a+40|0;g=k[i>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;d=0;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];yc(a,n,c,d);h=$(d,e)|0;gj(l,k[m>>2]|0,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[i>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}u=p;return 1}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}vf(a+60|0,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){e=a+60|0;c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=bj(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=a+4|0;c=k[m>>2]|0;do if(c|0){l=i[b+11>>0]|0;j=l<<24>>24<0;l=j?k[b+4>>2]|0:l&255;j=j?k[b>>2]|0:b;a=m;a:while(1){b=c;while(1){d=b+16|0;f=i[d+11>>0]|0;e=f<<24>>24<0;f=e?k[b+20>>2]|0:f&255;c=l>>>0>>0?l:f;if((c|0)!=0?(g=lm(e?k[d>>2]|0:d,j,c)|0,(g|0)!=0):0){if((g|0)>=0)break}else h=6;if((h|0)==6?(h=0,f>>>0>=l>>>0):0)break;b=k[b+4>>2]|0;if(!b)break a}c=k[b>>2]|0;if(!c){a=b;break}else a=b}if((a|0)!=(m|0)){c=a+16|0;e=i[c+11>>0]|0;d=e<<24>>24<0;e=d?k[a+20>>2]|0:e&255;b=e>>>0>>0?e:l;if(b|0?(n=lm(j,d?k[c>>2]|0:c,b)|0,n|0):0){if((n|0)<0)break;return a|0}if(l>>>0>=e>>>0){n=a;return n|0}}}while(0);n=m;return n|0}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}e=a+60|0;vf(e,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=bj(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if((c|0)>=8192)return Fa(a|0,b|0,c|0)|0;f=a|0;e=a+c|0;if((a&3)==(b&3)){while(a&3){if(!c)return f|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}c=e&-4|0;d=c-64|0;while((a|0)<=(d|0)){k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];k[a+20>>2]=k[b+20>>2];k[a+24>>2]=k[b+24>>2];k[a+28>>2]=k[b+28>>2];k[a+32>>2]=k[b+32>>2];k[a+36>>2]=k[b+36>>2];k[a+40>>2]=k[b+40>>2];k[a+44>>2]=k[b+44>>2];k[a+48>>2]=k[b+48>>2];k[a+52>>2]=k[b+52>>2];k[a+56>>2]=k[b+56>>2];k[a+60>>2]=k[b+60>>2];a=a+64|0;b=b+64|0}while((a|0)<(c|0)){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}}else{c=e-4|0;while((a|0)<(c|0)){i[a>>0]=i[b>>0]|0;i[a+1>>0]=i[b+1>>0]|0;i[a+2>>0]=i[b+2>>0]|0;i[a+3>>0]=i[b+3>>0]|0;a=a+4|0;b=b+4|0}}while((a|0)<(e|0)){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}return f|0}function Hh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+4|0;e=g;f=a+8|0;c=a+84|0;b=k[c>>2]|0;if(!b){c=k[(k[f>>2]|0)+64>>2]|0;c=(k[c+4>>2]|0)-(k[c>>2]|0)>>2;b=(c>>>0)/3|0;if(c>>>0<=2){u=g;return 1}a=0;do{k[e>>2]=a*3;k[d>>2]=k[e>>2];fc(f,d);a=a+1|0}while((a|0)<(b|0));u=g;return 1}else{a=k[b>>2]|0;if((k[b+4>>2]|0)==(a|0)){u=g;return 1}b=0;do{k[e>>2]=k[a+(b<<2)>>2];k[d>>2]=k[e>>2];fc(f,d);b=b+1|0;h=k[c>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);u=g;return 1}return 0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}vf(a+60|0,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){e=a+60|0;c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=ej(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=a+60|0;c=k[h>>2]|0;if(!c){b=0;return b|0}k[c+4>>2]=a+48;if(!(Wa[k[(k[c>>2]|0)+12>>2]&255](c)|0)){b=0;return b|0}d=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;a:do if((d|0)>0){c=0;while(1){e=(Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0)+4|0;e=k[e>>2]|0;f=_a[k[(k[a>>2]|0)+20>>2]&127](a,c)|0;if((f|0)<=-1){d=7;break}g=k[e+8>>2]|0;if(((k[e+12>>2]|0)-g>>2|0)<=(f|0)){d=9;break}e=k[h>>2]|0;c=c+1|0;if(!(_a[k[(k[e>>2]|0)+8>>2]&127](e,k[g+(f<<2)>>2]|0)|0)){c=0;d=14;break}if((c|0)>=(d|0))break a}if((d|0)==7)Ka(20132,20148,63,20247);else if((d|0)==9)Ka(20257,20148,64,20247);else if((d|0)==14)return c|0}while(0);if(!(_a[k[(k[a>>2]|0)+36>>2]&127](a,b)|0)){b=0;return b|0}if(!(_a[k[(k[a>>2]|0)+40>>2]&127](a,b)|0)){b=0;return b|0}b=Wa[k[(k[a>>2]|0)+44>>2]&255](a)|0;return b|0}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;j=m+16|0;f=m;e=m+32|0;h=a+28|0;d=k[h>>2]|0;k[e>>2]=d;i=a+20|0;d=(k[i>>2]|0)-d|0;k[e+4>>2]=d;k[e+8>>2]=b;k[e+12>>2]=c;d=d+c|0;g=a+60|0;k[f>>2]=k[g>>2];k[f+4>>2]=e;k[f+8>>2]=2;f=Pp(Da(146,f|0)|0)|0;a:do if((d|0)!=(f|0)){b=2;while(1){if((f|0)<0)break;d=d-f|0;o=k[e+4>>2]|0;n=f>>>0>o>>>0;e=n?e+8|0:e;b=(n<<31>>31)+b|0;o=f-(n?o:0)|0;k[e>>2]=(k[e>>2]|0)+o;n=e+4|0;k[n>>2]=(k[n>>2]|0)-o;k[j>>2]=k[g>>2];k[j+4>>2]=e;k[j+8>>2]=b;f=Pp(Da(146,j|0)|0)|0;if((d|0)==(f|0)){l=3;break a}}k[a+16>>2]=0;k[h>>2]=0;k[i>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[e+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=k[a+44>>2]|0;k[a+16>>2]=o+(k[a+48>>2]|0);k[h>>2]=o;k[i>>2]=o}u=m;return c|0}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=u;u=u+16|0;h=i;j=b+8|0;g=k[j>>2]|0;j=k[j+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((j|0)<(f|0)|(j|0)==(f|0)&g>>>0>>0){j=0;u=i;return j|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;if((g|0)<0){j=0;u=i;return j|0}e=a+60|0;vf(e,g,0);vr(h);if(Cg(h,b)|0){if((g|0)>0){c=1;d=0;do{c=c^((Nl(h)|0)^1);j=(k[e>>2]|0)+(d>>>5<<2)|0;f=1<<(d&31);m=k[j>>2]|0;k[j>>2]=c?m|f:m&~f;d=d+1|0}while((d|0)<(g|0))}c=ej(a+8|0,b)|0}else c=0;ds(h);m=c;u=i;return m|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+4>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;b=k[b>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];bg(b,d,a)|0;u=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];ag(b,d,a)|0;u=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];$f(b,d,a)|0;u=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];_f(b,d,a)|0;u=j;return}default:{u=j;return}}}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=u;u=u+16|0;j=l;i=jo(64)|0;g=jo(12)|0;f=k[(k[a+4>>2]|0)+68>>2]|0;k[g+4>>2]=0;k[g>>2]=4608;k[g+8>>2]=f;k[j>>2]=g;km(i,j);g=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[g>>2]|0;d=a-c>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){bh(g,e-d|0);break}if(e>>>0>>0?(h=c+(e<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);h=(k[g>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){u=l;return 1}Ta[k[(k[a>>2]|0)+4>>2]&127](a);u=l;return 1}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=u;u=u+16|0;d=g+4|0;e=g;f=a+8|0;c=a+84|0;b=k[c>>2]|0;if(!b){c=k[f>>2]|0;c=(k[c+4>>2]|0)-(k[c>>2]|0)>>2;b=(c>>>0)/3|0;if(c>>>0<=2){u=g;return 1}a=0;do{k[e>>2]=a*3;k[d>>2]=k[e>>2];ic(f,d);a=a+1|0}while((a|0)<(b|0));u=g;return 1}else{a=k[b>>2]|0;if((k[b+4>>2]|0)==(a|0)){u=g;return 1}b=0;do{k[e>>2]=k[a+(b<<2)>>2];k[d>>2]=k[e>>2];ic(f,d);b=b+1|0;h=k[c>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);u=g;return 1}return 0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+48>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+44>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];jg(b,d,a)|0;u=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];ig(b,d,a)|0;u=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];hg(b,d,a)|0;u=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];gg(b,d,a)|0;u=j;return}default:{u=j;return}}}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=u;u=u+16|0;g=l;h=a+4|0;k[h>>2]=0;if(!b){u=l;return}j=a+8|0;d=k[j>>2]|0;if(d<<5>>>0>>0){k[g>>2]=0;e=g+4|0;k[e>>2]=0;f=g+8|0;k[f>>2]=0;if((b|0)<0){Jq(a);d=k[j>>2]|0}m=d<<6;n=b+31&-32;lj(g,d<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);d=k[a>>2]|0;k[a>>2]=k[g>>2];k[g>>2]=d;g=k[h>>2]|0;k[h>>2]=b;k[e>>2]=g;h=k[j>>2]|0;k[j>>2]=k[f>>2];k[f>>2]=h;if(d|0)_r(d)}else k[h>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){_j(a|0,0,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){u=l;return}k[a>>2]=k[a>>2]&~(-1>>>(32-d|0));u=l;return}else{_j(a|0,-1,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){u=l;return}k[a>>2]=k[a>>2]|-1>>>(32-d|0);u=l;return}}function Rh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=a+12|0;f=k[a>>2]|0;h=a+8|0;b=k[h>>2]|0;c=(b|0)<0;if(!(i[g>>0]|0)){do if(!c){b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}while(0);k[h>>2]=b;return}d=b+1|0;if(!c){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[h>>2]=b;if((b|0)>=0){if((b|0)!=(k[a+4>>2]|0))return;k[h>>2]=-1073741824;return}}else e=5}else e=5}else e=5;if((e|0)==5)k[h>>2]=b;b=k[a+4>>2]|0;do if((b|0)>=0){b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)>=0){b=k[(k[f+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}}}while(0);k[h>>2]=b;i[g>>0]=0;return}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;do if(b){b=a+8|0;j=b;g=k[j>>2]|0;j=k[j+4>>2]|0;d=a+16|0;f=d;e=k[f>>2]|0;f=Fp(e|0,k[f+4>>2]|0,8,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}else{j=(k[a>>2]|0)+e|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;e=c;c=e;i[c>>0]=h;i[c+1>>0]=h>>8;i[c+2>>0]=h>>16;i[c+3>>0]=h>>24;e=e+4|0;i[e>>0]=j;i[e+1>>0]=j>>8;i[e+2>>0]=j>>16;i[e+3>>0]=j>>24;e=d;e=Fp(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;c=M;k[d>>2]=e;k[d+4>>2]=c;d=a;break}}else{c=a+16|0;b=a+8|0;d=a;e=k[c>>2]|0;c=k[c+4>>2]|0}while(0);i[a+36>>0]=1;h=(k[d>>2]|0)+e|0;j=b;j=Wo(k[j>>2]|0,k[j+4>>2]|0,e|0,c|0)|0;k[a+32>>2]=0;k[a+24>>2]=h;k[a+28>>2]=h+j;j=1;return j|0}function Th(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=a+8|0;b=k[h>>2]|0;l=a+16|0;if(i[b+84>>0]|0){l=k[l>>2]|0;return l|0}c=k[l>>2]|0;if(!c){l=k[l>>2]|0;return l|0}a=c+84|0;if(!(i[a>>0]|0)){l=k[l>>2]|0;return l|0}g=(k[b+72>>2]|0)-(k[b+68>>2]|0)>>2;i[a>>0]=0;f=c+68|0;a=c+72|0;e=k[a>>2]|0;d=k[f>>2]|0;c=e-d>>2;if(g>>>0<=c>>>0){if(g>>>0>>0?(j=d+(g<<2)|0,(e|0)!=(j|0)):0)k[a>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else{Yh(f,g-c|0,1608);b=k[h>>2]|0}if(i[b+84>>0]|0){l=k[l>>2]|0;return l|0}j=k[b+68>>2]|0;e=j;j=(k[b+72>>2]|0)-j|0;a=j>>2;if((j|0)<=0){l=k[l>>2]|0;return l|0}d=k[l>>2]|0;c=(i[d+84>>0]|0)==0;d=d+68|0;b=0;while(1){if(!c){b=14;break}k[(k[d>>2]|0)+(b<<2)>>2]=k[e+(b<<2)>>2];b=b+1|0;if((b|0)>=(a|0)){b=15;break}}if((b|0)==14)Ka(19400,19419,89,19521);else if((b|0)==15){l=k[l>>2]|0;return l|0}return 0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];jg(b,d,a)|0;u=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];ig(b,d,a)|0;u=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];hg(b,d,a)|0;u=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];gg(b,d,a)|0;u=j;return}default:{u=j;return}}}function Vh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4812;b=k[a+56>>2]|0;if(b|0){c=a+60|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+44>>2]|0;if(b|0){c=a+48|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+32>>2]|0;if(b|0){c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+20>>2]|0;if(b|0){c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}$i(a+8|0);a=a+4|0;e=k[a>>2]|0;k[a>>2]=0;if(!e)return;d=e+40|0;b=k[d>>2]|0;if(b|0){a=e+44|0;c=k[a>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[a>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0){Ij(c);_r(c)}c=k[a>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}Ij(e);_r(e);return}function Wh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;do if(!(uq(a,k[b+8>>2]|0,e)|0)){f=a+8|0;if(!(uq(a,k[b>>2]|0,e)|0)){h=k[f>>2]|0;Sa[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}a=b+32|0;if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[a>>2]=d;d=b+44|0;if((k[d>>2]|0)==4)break;a=b+52|0;i[a>>0]=0;j=b+53|0;i[j>>0]=0;f=k[f>>2]|0;Za[k[(k[f>>2]|0)+20>>2]&3](f,b,c,c,1,e);if(i[j>>0]|0)if(!(i[a>>0]|0)){a=3;h=11}else a=3;else{a=4;h=11}if((h|0)==11){k[g>>2]=c;j=b+40|0;k[j>>2]=(k[j>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1}k[d>>2]=a;break}if((d|0)==1)k[a>>2]=1}else Jn(0,b,c,d);while(0);return}function Xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ub(p,n,c,d);h=$(d,e)|0;dj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;e=k[j>>2]|0;l=a+4|0;g=k[l>>2]|0;f=g;if(e-g>>2>>>0>=b>>>0){d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[l>>2]=f+(b<<2);return}d=k[a>>2]|0;f=(g-d>>2)+b|0;if(f>>>0>1073741823){Jq(a);d=k[a>>2]|0;e=k[j>>2]|0;i=k[l>>2]|0}else i=g;h=e-d|0;e=h>>1;f=h>>2>>>0<536870911?(e>>>0>>0?f:e):1073741823;e=i-d>>2;do if(f)if(f>>>0>1073741823){l=Ma(4)|0;Cr(l);wa(l|0,1344,125)}else{g=jo(f<<2)|0;break}else g=0;while(0);h=g+(e<<2)|0;g=g+(f<<2)|0;e=b;f=h;while(1){k[f>>2]=k[c>>2];e=e+-1|0;if(!e)break;else f=f+4|0}e=i-d|0;f=h+(0-(e>>2)<<2)|0;if((e|0)>0)Gh(f|0,d|0,e|0)|0;k[a>>2]=f;k[l>>2]=h+(b<<2);k[j>>2]=g;if(!d)return;_r(d);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;e=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(e-c>>3>>>0>=b>>>0){do{h=c;k[h>>2]=0;k[h+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=k[a>>2]|0;f=(c-d>>3)+b|0;if(f>>>0>536870911){Jq(a);d=k[a>>2]|0;e=k[h>>2]|0;c=k[i>>2]|0}g=e-d|0;e=g>>2;e=g>>3>>>0<268435455?(e>>>0>>0?f:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){i=Ma(4)|0;Cr(i);wa(i|0,1344,125)}else{d=jo(e<<3)|0;break}else d=0;while(0);g=d+(c<<3)|0;f=d+(e<<3)|0;c=g;e=g;do{d=c;k[d>>2]=0;k[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[i>>2]|0)-b|0;c=g+(0-(d>>3)<<3)|0;if((d|0)>0)Gh(c|0,b|0,d|0)|0;k[a>>2]=c;k[i>>2]=e;k[h>>2]=f;if(!b)return;_r(b);return}function _h(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;g=u;u=u+16|0;e=g+8|0;f=g+4|0;h=g;k[h>>2]=k[b>>2];k[e>>2]=k[h>>2];e=Ad(a,e,f,c)|0;b=k[e>>2]|0;if(b|0){h=b;u=g;return h|0}c=jo(40)|0;gm(c+16|0,d);gm(c+28|0,d+12|0);b=k[f>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=b;k[e>>2]=c;b=k[k[a>>2]>>2]|0;if(!b)b=c;else{k[a>>2]=b;b=k[e>>2]|0}Ef(k[a+4>>2]|0,b);h=a+8|0;k[h>>2]=(k[h>>2]|0)+1;h=c;u=g;return h|0}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Sb(p,n,c,d);h=$(d,e)|0;dj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function ai(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Ub(p,n,c,d);h=$(d,e)|0;gj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function bi(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=jo(44)|0;c=b;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));ln(b);k[b>>2]=4720;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=b;u=e;return}case 1:{b=jo(44)|0;c=b;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));ln(b);k[b>>2]=4676;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=b;u=e;return}default:{k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,17537,28);k[c>>2]=-1;b=c+4|0;gm(b,d);k[a>>2]=k[c>>2];gm(a+4|0,b);k[a+16>>2]=0;Jp(b);Jp(d);u=e;return}}}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;j=a+4|0;f=k[j>>2]|0;e=f;if(d-f>>2>>>0>=b>>>0){c=b;d=e;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[j>>2]=e+(b<<2);return}c=k[a>>2]|0;e=(f-c>>2)+b|0;if(e>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[i>>2]|0;h=k[j>>2]|0}else h=f;g=d-c|0;d=g>>1;e=g>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=h-c>>2;do if(e)if(e>>>0>1073741823){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{f=jo(e<<2)|0;break}else f=0;while(0);g=f+(d<<2)|0;f=f+(e<<2)|0;d=b;e=g;while(1){k[e>>2]=1;d=d+-1|0;if(!d)break;else e=e+4|0}d=h-c|0;e=g+(0-(d>>2)<<2)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=g+(b<<2);k[i>>2]=f;if(!c)return;_r(c);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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;o=q;p=a+44|0;k[a+48>>2]=f;m=a+40|0;g=k[m>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;l=h-f|0;j=l>>2;if((l|0)<=0){u=q;return 1}l=a+8|0;i=a+52|0;d=0;a=h;while(1){if(a-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];Sb(p,n,c,d);h=$(d,e)|0;gj(l,i,b+(h<<2)|0,c+(h<<2)|0);d=d+1|0;if((d|0)>=(j|0))break;g=k[m>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}u=q;return 1}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=a+4|0;c=k[m>>2]|0;d=k[a>>2]|0;f=((c-d|0)/12|0)+1|0;if(f>>>0>357913941){Jq(a);c=k[m>>2]|0;d=k[a>>2]|0}j=d;e=c;l=a+8|0;i=((k[l>>2]|0)-d|0)/12|0;g=i<<1;f=i>>>0<178956970?(g>>>0>>0?f:g):357913941;g=(c-d|0)/12|0;do if(f)if(f>>>0>357913941){m=Ma(4)|0;Cr(m);wa(m|0,1344,125)}else{h=jo(f*12|0)|0;break}else h=0;while(0);c=h+(g*12|0)|0;i=h+(f*12|0)|0;k[c>>2]=k[b>>2];k[h+(g*12|0)+4>>2]=k[b+4>>2];k[h+(g*12|0)+8>>2]=k[b+8>>2];f=c+12|0;if((e|0)!=(j|0))do{b=e;e=e+-12|0;k[c+-12>>2]=k[e>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((e|0)!=(j|0));k[a>>2]=c;k[m>>2]=f;k[l>>2]=i;if(!d)return;_r(d);return}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=k[a+140>>2]|0;if(b|0){c=a+144|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}f=a+128|0;b=k[f>>2]|0;if(b|0){g=a+132|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[g>>2]=d;e=k[d>>2]|0;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);c=k[g>>2]|0}}while((c|0)!=(b|0));b=k[f>>2]|0}_r(b)}b=k[a+100>>2]|0;if(b|0){c=a+104|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}g=a+80|0;c=k[g>>2]|0;k[g>>2]=0;if(!c){g=a+64|0;ds(g);a=a+24|0;ds(a);return}d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;ds(b)}while((b|0)!=(c|0))}Yr(d);g=a+64|0;ds(g);a=a+24|0;ds(a);return}function gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((a|0)==-2){g=0;return g|0}f=k[c+4>>2]|0;if((b|0)<=-1)Ka(20132,20148,55,20247);e=k[f+8>>2]|0;if(((k[f+12>>2]|0)-e>>2|0)<=(b|0))Ka(20257,20148,56,20247);e=k[e+(b<<2)>>2]|0;if((Wa[k[(k[c>>2]|0)+8>>2]&255](c)|0)==1?(g=Zf(c,a,b,d,((l[c+36>>0]|0)<<8|(l[c+37>>0]|0))&65535)|0,g|0):0)return g|0;g=jo(44)|0;k[g>>2]=1740;k[g+4>>2]=e;c=g+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[c+16>>2]=k[d+16>>2];k[c+20>>2]=k[d+20>>2];yk(g+32|0,d+24|0);k[g>>2]=1796;return g|0}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=u;u=u+16|0;c=g;h=k[(k[a>>2]|0)+8>>2]|0;e=a+8|0;f=a+12|0;d=(k[f>>2]|0)-(k[e>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[c>>2]=i;Xa[h&7](a,d,c);d=k[c>>2]|0;k[c>>2]=0;if(!d){h=k[f>>2]|0;i=k[e>>2]|0;i=h-i|0;i=i>>2;i=i+-1|0;u=g;return i|0}i=d+88|0;a=k[i>>2]|0;k[i>>2]=0;if(a|0){b=k[a+8>>2]|0;if(b|0){c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}a=k[d+68>>2]|0;if(a|0){b=d+72|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}i=d+64|0;a=k[i>>2]|0;k[i>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}_r(d);h=k[f>>2]|0;i=k[e>>2]|0;i=h-i|0;i=i>>2;i=i+-1|0;u=g;return i|0}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((Wa[k[(k[b>>2]|0)+20>>2]&255](b)|0)<=0){b=1;return b|0}g=a+4|0;d=0;while(1){e=k[(k[g>>2]|0)+4>>2]|0;e=gn(e,_a[k[(k[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((e|0)==-1){a=0;c=12;break}a=k[g>>2]|0;f=k[(k[b>>2]|0)+28>>2]|0;if(((l[a+36>>0]|0)<<8&65535)<512){a=k[a+4>>2]|0;if((e|0)<=-1){c=6;break}c=k[a+8>>2]|0;if(((k[a+12>>2]|0)-c>>2|0)<=(e|0)){c=8;break}if(!(_a[f&127](b,k[c+(e<<2)>>2]|0)|0)){a=0;c=12;break}}else{e=bm(a,e)|0;if(!(_a[f&127](b,e)|0)){a=0;c=12;break}}d=d+1|0;if((d|0)>=(Wa[k[(k[b>>2]|0)+20>>2]&255](b)|0)){a=1;c=12;break}}if((c|0)==6)Ka(20132,20148,63,20247);else if((c|0)==8)Ka(20257,20148,64,20247);else if((c|0)==12)return a|0;return 0}function ji(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;o=r+80|0;p=r;q=r+136|0;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[m>>2]=k[c>>2];if((Cb(0,b,m,p,o)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)n=es(a)|0;else n=0;c=k[a>>2]|0;l=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;d=a+48|0;if(!(k[d>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=q;g=a+28|0;k[g>>2]=q;h=a+20|0;k[h>>2]=q;k[d>>2]=80;j=a+16|0;k[j>>2]=q+80;c=Cb(a,b,m,p,o)|0;if(f){Ra[k[a+36>>2]&31](a,0,0)|0;c=(k[h>>2]|0)==0?-1:c;k[e>>2]=f;k[d>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else c=Cb(a,b,m,p,o)|0;d=k[a>>2]|0;k[a>>2]=d|l;if(n|0)ds(a);c=(d&32|0)==0?c:-1}u=r;return c|0}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=u;u=u+16|0;i=m;if(!(xe(a,b)|0)){j=0;u=m;return j|0}g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;d=b+16|0;e=d;c=k[e>>2]|0;e=Fp(c|0,k[e+4>>2]|0,4,0)|0;f=M;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0){j=0;u=m;return j|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;h=d;k[h>>2]=e;k[h+4>>2]=f;if((c|0)<0){j=0;u=m;return j|0}d=a+96|0;c=(k[d>>2]|0)+c|0;k[d>>2]=c;d=a+100|0;k[i>>2]=0;e=a+104|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(c>>>0<=f>>>0){if(c>>>0>>0?(j=g+(c<<2)|0,(h|0)!=(j|0)):0)k[e>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else Yh(d,c-f|0,i);j=Cg(a+112|0,b)|0;u=m;return j|0}function li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=1048576){if((g|0)!=1048576?(e=h+4194304|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,1048576-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>1048576){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==1048576;return j|0}function mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;n=p;m=k[a>>2]|0;o=a+(k[m+-8>>2]|0)|0;m=k[m+-4>>2]|0;k[n>>2]=c;k[n+4>>2]=a;k[n+8>>2]=b;k[n+12>>2]=d;a=n+16|0;b=n+20|0;d=n+24|0;e=n+28|0;f=n+32|0;g=n+40|0;h=a;l=h+36|0;do{k[h>>2]=0;h=h+4|0}while((h|0)<(l|0));j[a+36>>1]=0;i[a+38>>0]=0;a:do if(uq(m,c,0)|0){k[n+48>>2]=1;Za[k[(k[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);a=(k[d>>2]|0)==1?o:0}else{Sa[k[(k[m>>2]|0)+24>>2]&3](m,n,o,1,0);switch(k[n+36>>2]|0){case 0:{a=(k[g>>2]|0)==1&(k[e>>2]|0)==1&(k[f>>2]|0)==1?k[b>>2]|0:0;break a}case 1:break;default:{a=0;break a}}if((k[d>>2]|0)!=1?!((k[g>>2]|0)==0&(k[e>>2]|0)==1&(k[f>>2]|0)==1):0){a=0;break}a=k[a>>2]|0}while(0);u=p;return a|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=k[m>>2]|0;d=k[b>>2]|0;j=((c-d|0)/12|0)*3|0;l=a+4|0;h=k[l>>2]|0;g=k[a>>2]|0;f=h-g>>2;e=d;if(j>>>0<=f>>>0){if(j>>>0>>0?(i=g+(j<<2)|0,(h|0)!=(i|0)):0)k[l>>2]=h+(~((h+-4-i|0)>>>2)<<2)}else{oj(a,j-f|0);e=k[b>>2]|0;d=e;c=k[m>>2]|0}if((c-d|0)>0){b=k[a>>2]|0;d=(c-e|0)/12|0;c=0;do{m=c*3|0;k[b+(m<<2)>>2]=k[e+(c*12|0)>>2];k[b+(m+1<<2)>>2]=k[e+(c*12|0)+4>>2];k[b+(m+2<<2)>>2]=k[e+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}k[n>>2]=-1;if(!(Mb(a,n)|0)){n=0;u=o;return n|0}Bb(a,k[n>>2]|0)|0;n=1;u=o;return n|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=524288){if((g|0)!=524288?(e=h+2097152|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,524288-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>524288){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==524288;return j|0}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=262144){if((g|0)!=262144?(e=h+1048576|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,262144-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>262144){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==262144;return j|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=65536){if((g|0)!=65536?(e=h+262144|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,65536-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>65536){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==65536;return j|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=32768){if((g|0)!=32768?(e=h+131072|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,32768-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>32768){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==32768;return j|0}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a+4|0;c=k[f>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){Hg(a,b-e|0);return}if(e>>>0<=b>>>0)return;e=d+(b<<2)|0;if((c|0)==(e|0))return;do{b=c+-4|0;k[f>>2]=b;d=k[b>>2]|0;k[b>>2]=0;if(d|0){b=d+88|0;c=k[b>>2]|0;k[b>>2]=0;if(c|0){a=k[c+8>>2]|0;if(a|0){b=c+12|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c)}c=k[d+68>>2]|0;if(c|0){a=d+72|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c)}b=d+64|0;c=k[b>>2]|0;k[b>>2]=0;if(c|0){a=k[c>>2]|0;if(a|0){b=c+4|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c)}_r(d)}c=k[f>>2]|0}while((c|0)!=(e|0));return}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=8192){if((g|0)!=8192?(e=h+32768|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,8192-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>8192){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==8192;return j|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=4096){if((g|0)!=4096?(e=h+16384|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else oj(a,4096-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3);if(!c){j=0;return j|0}}else Zh(d,c-f|0);g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>4096){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==4096;return j|0}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(b>>>0>4294967279)Fq(a);g=a+11|0;d=i[g>>0]|0;e=d<<24>>24<0;if(e){h=k[a+4>>2]|0;c=(k[a+8>>2]&2147483647)+-1|0}else{h=d&255;c=10}f=h>>>0>b>>>0?h:b;b=f>>>0<11;f=b?10:(f+16&-16)+-1|0;do if((f|0)!=(c|0)){do if(b){b=k[a>>2]|0;if(e){e=0;c=b;b=a;d=13}else{Qp(a,b,(d&255)+1|0)|0;_r(b);d=15}}else{b=jo(f+1|0)|0;if(e){e=1;c=k[a>>2]|0;d=13;break}else{Qp(b,a,(d&255)+1|0)|0;d=14;break}}while(0);if((d|0)==13){Qp(b,c,(k[a+4>>2]|0)+1|0)|0;_r(c);if(e)d=14;else d=15}if((d|0)==14){k[a+8>>2]=f+1|-2147483648;k[a+4>>2]=h;k[a>>2]=b;break}else if((d|0)==15){i[g>>0]=h;break}}while(0);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;c=k[b+88>>2]|0;if(!c){a=0;return a|0}if((k[c>>2]|0)!=1){a=0;return a|0}n=c+8|0;g=k[n>>2]|0;k[a+4>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;o=a+8|0;c=b+24|0;b=i[c>>0]|0;d=b<<24>>24;e=a+12|0;j=k[e>>2]|0;h=k[o>>2]|0;f=j-h>>2;if(d>>>0<=f>>>0){if(d>>>0>>0?(m=h+(d<<2)|0,(j|0)!=(m|0)):0)k[e>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else{oj(o,d-f|0);b=i[c>>0]|0;g=k[n>>2]|0}c=g+4|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;if(b<<24>>24>0){f=k[o>>2]|0;e=b<<24>>24;b=4;d=0;do{k[f+(d<<2)>>2]=c;b=b+4|0;d=d+1|0;c=g+b|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24}while((d|0)<(e|0))}k[a+20>>2]=c;a=1;return a|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Xd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Xd(a,b);return}function yi(a,b,c){a=a|0;b=b|0;c=c|0;a=Ld(a,b)|0;if(!a){c=0;return c|0}b=k[a+20>>2]|0;if(((k[a+24>>2]|0)-b|0)!=8){c=0;return c|0}i[s>>0]=i[b>>0];i[s+1>>0]=i[b+1>>0];i[s+2>>0]=i[b+2>>0];i[s+3>>0]=i[b+3>>0];i[s+4>>0]=i[b+4>>0];i[s+5>>0]=i[b+5>>0];i[s+6>>0]=i[b+6>>0];i[s+7>>0]=i[b+7>>0];p[s>>3]=+p[s>>3];i[c>>0]=i[s>>0];i[c+1>>0]=i[s+1>>0];i[c+2>>0]=i[s+2>>0];i[c+3>>0]=i[s+3>>0];i[c+4>>0]=i[s+4>>0];i[c+5>>0]=i[s+5>>0];i[c+6>>0]=i[s+6>>0];i[c+7>>0]=i[s+7>>0];c=1;return c|0}function zi(a){a=a|0;vr(a);vr(a+16|0);vr(a+32|0);vr(a+48|0);vr(a+64|0);vr(a+80|0);vr(a+96|0);vr(a+112|0);vr(a+128|0);vr(a+144|0);vr(a+160|0);vr(a+176|0);vr(a+192|0);vr(a+208|0);vr(a+224|0);vr(a+240|0);vr(a+256|0);vr(a+272|0);vr(a+288|0);vr(a+304|0);vr(a+320|0);vr(a+336|0);vr(a+352|0);vr(a+368|0);vr(a+384|0);vr(a+400|0);vr(a+416|0);vr(a+432|0);vr(a+448|0);vr(a+464|0);vr(a+480|0);vr(a+496|0);return}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=(k[a>>2]|0)+1794895138|0;f=wq(k[a+8>>2]|0,o)|0;d=wq(k[a+12>>2]|0,o)|0;e=wq(k[a+16>>2]|0,o)|0;a:do if((f>>>0>>2>>>0?(n=b-(f<<2)|0,d>>>0>>0&e>>>0>>0):0)?((e|d)&3|0)==0:0){n=d>>>2;m=e>>>2;l=0;while(1){h=f>>>1;j=l+h|0;g=j<<1;e=g+n|0;d=wq(k[a+(e<<2)>>2]|0,o)|0;e=wq(k[a+(e+1<<2)>>2]|0,o)|0;if(!(e>>>0>>0&d>>>0<(b-e|0)>>>0)){d=0;break a}if(i[a+(e+d)>>0]|0){d=0;break a}d=ym(c,a+e|0)|0;if(!d)break;d=(d|0)<0;if((f|0)==1){d=0;break a}else{l=d?l:j;f=d?h:f-h|0}}d=g+m|0;e=wq(k[a+(d<<2)>>2]|0,o)|0;d=wq(k[a+(d+1<<2)>>2]|0,o)|0;if(d>>>0>>0&e>>>0<(b-d|0)>>>0)d=(i[a+(d+e)>>0]|0)==0?a+d|0:0;else d=0}else d=0;while(0);return d|0}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((a|0)==-2){g=0;return g|0}f=k[c+4>>2]|0;if((b|0)<=-1)Ka(20132,20148,55,20247);e=k[f+8>>2]|0;if(((k[f+12>>2]|0)-e>>2|0)<=(b|0))Ka(20257,20148,56,20247);e=k[e+(b<<2)>>2]|0;if((Wa[k[(k[c>>2]|0)+8>>2]&255](c)|0)==1?(g=Vf(c,a,b,d,((l[c+36>>0]|0)<<8|(l[c+37>>0]|0))&65535)|0,g|0):0)return g|0;g=jo(28)|0;k[g+4>>2]=e;c=g+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[g+8>>2]=2604;k[g>>2]=2624;return g|0}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i+4|0;g=i;k[a>>2]=0;k[a+8>>2]=b;zi(a+12|0);vr(a+524|0);rp(a+540|0);rp(a+560|0);rp(a+580|0);k[h>>2]=0;Ik(a+600|0,b,h);k[h>>2]=0;Ik(a+612|0,b,h);c=b<<5|1;k[g>>2]=0;Ik(h,b,g);Dk(a+624|0,c,h);d=k[h>>2]|0;if(d|0){e=h+4|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}k[g>>2]=0;Ik(h,b,g);Dk(a+636|0,c,h);c=k[h>>2]|0;if(!c){u=i;return}a=h+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);u=i;return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){cd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;cd(a,b);return}function Ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Md(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Md(a,b);return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ie(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ie(a,b);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ed(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ed(a,b);return}function Ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){wd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;wd(a,b);return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Od(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Od(a,b);return}function Ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){fd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;fd(a,b);return}function Li(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){xd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;xd(a,b);return}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Pd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Pd(a,b);return}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){je(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;je(a,b);return}function Oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;a=k[a+4>>2]|0;if(!a){m=0;return m|0}j=i[b+11>>0]|0;h=j<<24>>24<0;j=h?k[b+4>>2]|0:j&255;h=h?k[b>>2]|0:b;while(1){d=a+16|0;c=i[d+11>>0]|0;e=c<<24>>24<0;c=e?k[a+20>>2]|0:c&255;f=c>>>0>>0;b=f?c:j;if((b|0)!=0?(l=lm(h,e?k[d>>2]|0:d,b)|0,(l|0)!=0):0)if((l|0)<0)g=7;else g=8;else if(j>>>0>>0)g=7;else g=8;if((g|0)!=7)if((g|0)==8){g=0;b=j>>>0>>0?j:c;if((b|0)!=0?(m=lm(e?k[d>>2]|0:d,h,b)|0,(m|0)!=0):0){if((m|0)>=0){a=1;g=14;break}}else g=10;if((g|0)==10?(0,!f):0){a=1;g=14;break}a=a+4|0}a=k[a>>2]|0;if(!a){a=0;g=14;break}}if((g|0)==14)return a|0;return 0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((a|0)==-2){g=0;return g|0}f=k[c+4>>2]|0;if((b|0)<=-1)Ka(20132,20148,55,20247);e=k[f+8>>2]|0;if(((k[f+12>>2]|0)-e>>2|0)<=(b|0))Ka(20257,20148,56,20247);e=k[e+(b<<2)>>2]|0;if((Wa[k[(k[c>>2]|0)+8>>2]&255](c)|0)==1?(g=Xf(c,a,b,d,((l[c+36>>0]|0)<<8|(l[c+37>>0]|0))&65535)|0,g|0):0)return g|0;g=jo(28)|0;k[g+4>>2]=e;c=g+12|0;d=d+4|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[g+8>>2]=2584;k[g>>2]=3352;return g|0}function Qi(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;g=jo(32)|0;k[a>>2]=g;k[a+4>>2]=b+8;e=a+8|0;i[e>>0]=0;h=g+8|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;h=g+20|0;f=d+12|0;k[h>>2]=0;k[g+24>>2]=0;k[g+28>>2]=0;g=k[f>>2]|0;b=(k[d+16>>2]|0)-g|0;if(!b){d=0;h=g;Gh(d|0,h|0,b|0)|0;i[e>>0]=1;a=k[a>>2]|0;h=a+4|0;k[h>>2]=c;k[a>>2]=0;return}qj(h,b);d=k[h>>2]|0;h=k[f>>2]|0;Gh(d|0,h|0,b|0)|0;i[e>>0]=1;a=k[a>>2]|0;h=a+4|0;k[h>>2]=c;k[a>>2]=0;return}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=k[b>>2]|0;e=k[a+12>>2]|0;if((h|0)>(e|0))Ka(10282,9461,259,10306);d=k[c>>2]|0;if((d|0)>(e|0))Ka(10320,9461,260,10306);a=0-e|0;if((h|0)<(a|0))Ka(10344,9461,261,10306);if((d|0)<(a|0))Ka(10369,9461,262,10306);if((d|h|0)>-1){f=1;a=1}else{a=(h|0)<1&(d|0)<1;f=a?-1:(h|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=$(e,f)|0;e=$(e,a)|0;k[b>>2]=(h<<1)-g;d=(k[c>>2]<<1)-e|0;k[c>>2]=d;h=($(f,a)|0)>-1;a=k[b>>2]|0;if(h){k[b>>2]=0-d;h=0-a|0;k[c>>2]=h;h=k[b>>2]|0;h=h+g|0;h=(h|0)/2|0;k[b>>2]=h;b=k[c>>2]|0;b=b+e|0;b=(b|0)/2|0;k[c>>2]=b;return}else{k[b>>2]=d;h=a;k[c>>2]=h;h=k[b>>2]|0;h=h+g|0;h=(h|0)/2|0;k[b>>2]=h;b=k[c>>2]|0;b=b+e|0;b=(b|0)/2|0;k[c>>2]=b;return}}function Si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=u;u=u+32|0;d=e;switch(c|0){case 2:{f=k[a+12>>2]|0;c=k[a+4>>2]|0;a=d+4|0;k[a>>2]=-1;k[a+4>>2]=-1;k[a+8>>2]=-1;k[a+12>>2]=-1;k[d>>2]=2584;d=Pi(b,f,c,d)|0;u=e;return d|0}case 3:{c=k[a+12>>2]|0;f=k[a+4>>2]|0;a=d+4|0;k[a>>2]=-1;k[a+4>>2]=-1;k[a+8>>2]=-1;k[a+12>>2]=-1;k[d>>2]=2604;f=Bi(b,c,f,d)|0;u=e;return f|0}default:{f=0;u=e;return f|0}}return 0}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){qd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;qd(a,b);return}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a+4|0;e=k[f>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){ng(a,b-d|0);return}if(d>>>0<=b>>>0)return;d=c+(b*116|0)|0;if((e|0)==(d|0))return;do{k[f>>2]=e+-116;a=k[e+-12>>2]|0;if(a|0){b=e+-8|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}a=k[e+-28>>2]|0;if(a|0){b=e+-24|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}a=k[e+-40>>2]|0;if(a|0){b=e+-36|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}vk(e+-112|0);e=k[f>>2]|0}while((e|0)!=(d|0));return}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i+4|0;g=i;k[a>>2]=0;k[a+8>>2]=b;rp(a+12|0);rp(a+32|0);rp(a+52|0);rp(a+72|0);k[h>>2]=0;Ik(a+92|0,b,h);k[h>>2]=0;Ik(a+104|0,b,h);c=b<<5|1;k[g>>2]=0;Ik(h,b,g);Dk(a+116|0,c,h);d=k[h>>2]|0;if(d|0){e=h+4|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}k[g>>2]=0;Ik(h,b,g);Dk(a+128|0,c,h);c=k[h>>2]|0;if(!c){u=i;return}a=h+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);u=i;return}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;l=a+8|0;c=k[l>>2]|0;d=i[c+24>>0]|0;h=d<<24>>24;m=h<<1;n=Xr(h>>>0>2147483647?-1:h<<1)|0;g=k[a+16>>2]|0;g=(k[k[g>>2]>>2]|0)+(k[g+48>>2]|0)|0;if(!b){Yr(n);return}if(d<<24>>24>0){c=0;d=0;e=0;while(1){a=0;f=e;while(1){j[n+(a<<1)>>1]=k[g+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}Gh((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break;else{d=d+m|0;e=h+e|0}}Yr(n);return}else{Gh(k[k[c+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1){Yr(n);return}else{a=0;c=1}do{a=a+m|0;Gh((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0}while((c|0)!=(b|0));Yr(n);return}}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;j=a+8|0;c=k[j>>2]|0;d=i[c+24>>0]|0;h=d<<24>>24;l=h<<2;m=Xr(h>>>0>1073741823?-1:h<<2)|0;g=k[a+16>>2]|0;g=(k[k[g>>2]>>2]|0)+(k[g+48>>2]|0)|0;if(!b){Yr(m);return}if(d<<24>>24>0){c=0;d=0;e=0;while(1){a=0;f=e;while(1){k[m+(a<<2)>>2]=k[g+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+d|0,m|0,l|0)|0;c=c+1|0;if((c|0)==(b|0))break;else{d=d+l|0;e=h+e|0}}Yr(m);return}else{Gh(k[k[c+64>>2]>>2]|0,m|0,l|0)|0;if((b|0)==1){Yr(m);return}else{a=0;c=1}do{a=a+l|0;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+a|0,m|0,l|0)|0;c=c+1|0}while((c|0)!=(b|0));Yr(m);return}}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i+4|0;g=i;k[a>>2]=0;k[a+8>>2]=b;vr(a+12|0);rp(a+28|0);rp(a+48|0);rp(a+68|0);k[h>>2]=0;Ik(a+88|0,b,h);k[h>>2]=0;Ik(a+100|0,b,h);c=b<<5|1;k[g>>2]=0;Ik(h,b,g);Dk(a+112|0,c,h);d=k[h>>2]|0;if(d|0){e=h+4|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}k[g>>2]=0;Ik(h,b,g);Dk(a+124|0,c,h);c=k[h>>2]|0;if(!c){u=i;return}a=h+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);u=i;return}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=1620;e=a+60|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+48>>2]|0;if(d|0){b=a+52|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}d=a+36|0;b=k[d>>2]|0;if(b|0){e=a+40|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b)}k[a>>2]=1460;b=k[a+16>>2]|0;if(b|0){c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);return}function _i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=k[a+4>>2]|0;g=a+8|0;b=k[g>>2]|0;if((b|0)!=(f|0))do{d=b+-4|0;k[g>>2]=d;e=k[d>>2]|0;k[d>>2]=0;if(e|0){d=e+88|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b+8>>2]|0;if(c|0){d=b+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}b=k[e+68>>2]|0;if(b|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=e+64|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}_r(e)}b=k[g>>2]|0}while((b|0)!=(f|0));b=k[a>>2]|0;if(!b)return;_r(b);return}function $i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=k[a>>2]|0;if(!b)return;g=a+4|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;k[g>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){e=f+88|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=k[c+8>>2]|0;if(d|0){e=c+12|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}c=k[f+68>>2]|0;if(c|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}e=f+64|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}_r(c)}_r(f)}c=k[g>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}_r(b);return}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=b+8|0;i=k[j>>2]|0;j=k[j+4>>2]|0;m=b+16|0;d=m;c=k[d>>2]|0;d=k[d+4>>2]|0;h=Fp(c|0,d|0,4,0)|0;e=M;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){a=0;return a|0}f=k[b>>2]|0;g=f+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=m;k[b>>2]=h;k[b+4>>2]=e;b=Fp(c|0,d|0,8,0)|0;c=M;if((j|0)<(c|0)|(j|0)==(c|0)&i>>>0>>0){a=0;return a|0}j=f+h|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[m>>2]=b;k[m+4>>2]=c;k[a+12>>2]=g;k[a+16>>2]=j;m=j+(1-g)|0;k[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;k[c>>2]=b;k[a+28>>2]=0-b;if(m&1|0){a=1;return a|0}k[c>>2]=b+-1;a=1;return a|0}function bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=b+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;e=Fp(c|0,d|0,4,0)|0;f=M;if((i|0)<(f|0)|(i|0)==(f|0)&h>>>0>>0)return 0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=j;k[b>>2]=e;k[b+4>>2]=f;b=Fp(c|0,d|0,8,0)|0;c=M;if((i|0)<(c|0)|(i|0)==(c|0)&h>>>0>>0)return 0;k[j>>2]=b;k[j+4>>2]=c;if(((g|0)%2|0|0)!=1)Ka(10394,10427,69,10595);b=(ca(g|0)|0)^31;c=b+1|0;if(!b)Ka(9450,9461,60,9584);if(c>>>0<31){k[a+4>>2]=c;j=2<>2]=j+-1;j=j+-2|0;k[a+12>>2]=j;k[a+16>>2]=(j|0)/2|0;return (b+-1|0)>>>0<29|0}else Ka(9604,9461,61,9584);return 0}function cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=Pa;n=u;u=u+32|0;g=n+16|0;j=n;l=a+8|0;m=i[(k[l>>2]|0)+24>>0]<<2;h=k[a+16>>2]|0;h=(k[k[h>>2]>>2]|0)+(k[h+48>>2]|0)|0;a=k[a+24>>2]|0;if((a|0)<=1)Ka(9450,9461,60,9584);if((a|0)>=31)Ka(9604,9461,61,9584);k[j>>2]=a;c=1<>2]=c+-1;c=c+-2|0;f=j+8|0;k[f>>2]=c;k[j+12>>2]=(c|0)/2|0;if(!b){u=n;return 1}d=0;a=0;e=0;while(1){o=da(da(1.0)/da(c|0));Mg(j,da(da(k[h+(e<<2)>>2]|0)*o),da(da(k[h+((e|1)<<2)>>2]|0)*o),g);Gh((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+d|0,g|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;d=d+m|0;e=e+2|0;c=k[f>>2]|0}u=n;return 1}function dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;h=m+16|0;i=m+8|0;j=m;l=k[b>>2]|0;g=k[a+16>>2]<<1;if((l|0)>(g|0))Ka(9701,9746,69,9932);e=k[b+4>>2]|0;if((e|0)>(g|0))Ka(9953,9746,70,9932);f=k[c>>2]|0;if((f|0)>(g|0))Ka(9998,9746,71,9932);b=k[c+4>>2]|0;if((b|0)>(g|0))Ka(10043,9746,72,9932);if((l|0)<=-1)Ka(10088,9746,74,9932);if((e|0)<=-1)Ka(10110,9746,75,9932);if((f|0)<=-1)Ka(10132,9746,76,9932);if((b|0)>-1){k[i>>2]=l;k[i+4>>2]=e;k[j>>2]=f;k[j+4>>2]=b;rf(h,a,i,j);k[d>>2]=k[h>>2];k[d+4>>2]=k[h+4>>2];u=m;return}else Ka(10154,9746,77,9932)}function ej(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=b+8|0;h=k[i>>2]|0;i=k[i+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;e=Fp(c|0,d|0,4,0)|0;f=M;if((i|0)<(f|0)|(i|0)==(f|0)&h>>>0>>0){a=0;return a|0}g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=j;k[b>>2]=e;k[b+4>>2]=f;b=Fp(c|0,d|0,8,0)|0;c=M;if((i|0)<(c|0)|(i|0)==(c|0)&h>>>0>>0){a=0;return a|0}k[j>>2]=b;k[j+4>>2]=c;if(((g|0)%2|0|0)!=1)Ka(10394,10427,69,10595);b=(ca(g|0)|0)^31;c=b+1|0;if(!b)Ka(9450,9461,60,9584);if(c>>>0>=31)Ka(9604,9461,61,9584);k[a+4>>2]=c;j=2<>2]=j+-1;j=j+-2|0;k[a+12>>2]=j;k[a+16>>2]=(j|0)/2|0;a=1;return a|0}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=hb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ne(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=hb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ne(a,b);return}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=u;u=u+32|0;h=m+16|0;i=m+8|0;j=m;l=k[b>>2]|0;g=k[a+16>>2]<<1;if((l|0)>(g|0))Ka(9701,14650,62,9932);e=k[b+4>>2]|0;if((e|0)>(g|0))Ka(9953,14650,63,9932);f=k[c>>2]|0;if((f|0)>(g|0))Ka(9998,14650,64,9932);b=k[c+4>>2]|0;if((b|0)>(g|0))Ka(10043,14650,65,9932);if((l|0)<=-1)Ka(10088,14650,67,9932);if((e|0)<=-1)Ka(10110,14650,68,9932);if((f|0)<=-1)Ka(10132,14650,69,9932);if((b|0)>-1){k[h>>2]=f;k[h+4>>2]=b;k[j>>2]=l;k[j+4>>2]=e;Yg(i,a,j,h);k[d>>2]=k[i>>2];k[d+4>>2]=k[i+4>>2];u=m;return}else Ka(10154,14650,70,9932)}function hj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=$(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009|0)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return (c|0?a:0)|0}function ij(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=a+12|0;f=k[e>>2]|0;k[e>>2]=0;if(!f){Jp(a);return}b=k[f+28>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;ij(e+8|0);_r(e)}while((b|0)!=0);e=f+20|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)_r(b);b=k[f+8>>2]|0;if(b|0)do{c=b;b=k[b>>2]|0;d=k[c+20>>2]|0;if(d|0){e=c+24|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}Jp(c+8|0);_r(c)}while((b|0)!=0);b=k[f>>2]|0;k[f>>2]=0;if(b|0)_r(b);_r(f);Jp(a);return}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+4|0;d=k[j>>2]|0;c=k[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){Jq(a);c=k[a>>2]|0;d=k[j>>2]|0}i=a+8|0;h=((k[i>>2]|0)-c|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?e:g):357913941;e=(d-c|0)/12|0;do if(g)if(g>>>0>357913941){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{h=jo(g*12|0)|0;break}else h=0;while(0);f=h+(e*12|0)|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];d=d-c|0;e=f+(((d|0)/-12|0)*12|0)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=f+12;k[i>>2]=h+(g*12|0);if(!c)return;_r(c);return}function kj(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=jo(48)|0;Mq(d);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=d;u=e;return}case 1:{d=jo(52)|0;Vp(d);k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=d;u=e;return}default:{k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,17537,28);k[c>>2]=-1;b=c+4|0;gm(b,d);k[a>>2]=k[c>>2];gm(a+4|0,b);k[a+16>>2]=0;Jp(b);Jp(d);u=e;return}}}function lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=u;u=u+32|0;f=i+16|0;c=i+8|0;d=i;g=a+8|0;if(k[g>>2]<<5>>>0>=b>>>0){u=i;return}k[f>>2]=0;h=f+4|0;k[h>>2]=0;e=f+8|0;k[e>>2]=0;if((b|0)<0)Jq(f);l=((b+-1|0)>>>5)+1|0;j=jo(l<<2)|0;k[f>>2]=j;k[h>>2]=0;k[e>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;j=a+4|0;b=k[j>>2]|0;k[d>>2]=l+(b>>>5<<2);k[d+4>>2]=b&31;sh(f,c,d);b=k[a>>2]|0;k[a>>2]=k[f>>2];k[f>>2]=b;f=k[j>>2]|0;k[j>>2]=k[h>>2];k[h>>2]=f;h=k[g>>2]|0;k[g>>2]=k[e>>2];k[e>>2]=h;if(b|0)_r(b);u=i;return}function mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;g=a+228|0;j=a+232|0;c=k[g>>2]|0;if((k[j>>2]|0)==(c|0)){l=0;return l|0}e=a+4|0;d=0;a:while(1){a=k[c+(d*116|0)>>2]|0;if(((a|0)>=0?(c=k[e>>2]|0,f=k[c+8>>2]|0,(a|0)<((k[c+12>>2]|0)-f>>2|0)):0)?(h=k[f+(a<<2)>>2]|0,(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0)>0):0){a=0;do{if((_a[k[(k[h>>2]|0)+20>>2]&127](h,a)|0)==(b|0))break a;a=a+1|0}while((a|0)<(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0))}a=d+1|0;c=k[g>>2]|0;if(a>>>0>=(((k[j>>2]|0)-c|0)/116|0)>>>0){a=0;l=11;break}else d=a}if((l|0)==11)return a|0;l=k[g>>2]|0;l=(i[l+(d*116|0)+72>>0]|0)==0?0:l+(d*116|0)+4|0;return l|0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;i=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=i>>2;j=a+8|0;d=k[(k[j>>2]|0)+40>>2]|0;m=Xr((d|0)>-1?d:-1)|0;e=c+8|0;if((i|0)<=0){c=1;Yr(m);return c|0}f=c+16|0;b=0;a=0;while(1){o=e;n=k[o>>2]|0;o=k[o+4>>2]|0;h=f;g=k[h>>2]|0;h=Fp(g|0,k[h+4>>2]|0,d|0,0)|0;i=M;if((o|0)<(i|0)|(o|0)==(i|0)&n>>>0>>0){b=0;a=5;break}Gh(m|0,(k[c>>2]|0)+g|0,d|0)|0;o=f;k[o>>2]=h;k[o+4>>2]=i;Gh((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+b|0,m|0,d|0)|0;a=a+1|0;if((a|0)>=(l|0)){b=1;a=5;break}else b=b+d|0}if((a|0)==5){Yr(m);return b|0}return 0}function oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;j=a+4|0;e=k[j>>2]|0;if(d-e>>2>>>0>=b>>>0){_j(e|0,0,b<<2|0)|0;k[j>>2]=e+(b<<2);return}c=k[a>>2]|0;f=(e-c>>2)+b|0;if(f>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[i>>2]|0;e=k[j>>2]|0}d=d-c|0;g=d>>1;g=d>>2>>>0<536870911?(g>>>0>>0?f:g):1073741823;d=e-c>>2;do if(g)if(g>>>0>1073741823){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{h=jo(g<<2)|0;break}else h=0;while(0);f=h+(d<<2)|0;_j(f|0,0,b<<2|0)|0;d=e-c|0;e=f+(0-(d>>2)<<2)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=f+(b<<2);k[i>>2]=h+(g<<2);if(!c)return;_r(c);return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+228|0;i=a+232|0;c=k[g>>2]|0;a:do if((k[i>>2]|0)!=(c|0)){j=a+4|0;e=0;d=c;b:while(1){c=k[d+(e*116|0)>>2]|0;if(((c|0)>=0?(d=k[j>>2]|0,f=k[d+8>>2]|0,(c|0)<((k[d+12>>2]|0)-f>>2|0)):0)?(h=k[f+(c<<2)>>2]|0,(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0)>0):0){c=0;do{if((_a[k[(k[h>>2]|0)+20>>2]&127](h,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Wa[k[(k[h>>2]|0)+24>>2]&255](h)|0))}c=e+1|0;d=k[g>>2]|0;if(c>>>0>=(((k[i>>2]|0)-d|0)/116|0)>>>0)break a;else e=c}j=(k[g>>2]|0)+(e*116|0)+76|0;return j|0}while(0);j=a+200|0;return j|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+8|0;e=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((e-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=k[a>>2]|0;f=c-d+b|0;if((f|0)<0){Jq(a);d=k[a>>2]|0;e=k[h>>2]|0;c=k[j>>2]|0}g=e-d|0;e=g<<1;e=g>>>0<1073741823?(e>>>0>>0?f:e):2147483647;if(!e)f=0;else f=jo(e)|0;g=f+(c-d)|0;f=f+e|0;e=g;c=g;do{i[c>>0]=0;c=e+1|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[j>>2]|0)-b|0;c=g+(0-d)|0;if((d|0)>0)Gh(c|0,b|0,d|0)|0;k[a>>2]=c;k[j>>2]=e;k[h>>2]=f;if(!b)return;_r(b);return}function rj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-b|0)>>>0>>0)Fq(a);if((i[a+11>>0]|0)<0)m=k[a>>2]|0;else m=a;if(b>>>0<2147483623){j=c+b|0;l=b<<1;j=j>>>0>>0?l:j;j=j>>>0<11?11:j+16&-16}else j=-17;l=jo(j)|0;if(e|0)Qp(l,m,e)|0;if(g|0)Qp(l+e|0,h,g)|0;c=d-f|0;d=c-e|0;if(d|0)Qp(l+e+g|0,m+e+f|0,d)|0;if((b|0)!=10)_r(m);k[a>>2]=l;k[a+8>>2]=j|-2147483648;g=c+g|0;k[a+4>>2]=g;i[n>>0]=0;Oq(l+g|0,n);u=o;return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=u;u=u+16|0;d=g;e=lh(a,d,b)|0;c=k[e>>2]|0;if(c|0){a=c;a=a+28|0;u=g;return a|0}f=jo(40)|0;gm(f+16|0,b);c=f+28|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=k[d>>2]|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=c;k[e>>2]=f;c=k[k[a>>2]>>2]|0;if(!c)c=f;else{k[a>>2]=c;c=k[e>>2]|0}Ef(k[a+4>>2]|0,c);a=a+8|0;k[a>>2]=(k[a>>2]|0)+1;a=f;a=a+28|0;u=g;return a|0}function tj(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4480;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Bn(b);Bn(a+280|0);d=a+320|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+28>>2]=0;k[a+352>>2]=-1;k[a+356>>2]=-1;k[a+360>>2]=2;k[a+364>>2]=7;d=a+368|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;return}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=u;u=u+16|0;f=g;do if(((l[(k[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){h=c+8|0;j=k[h+4>>2]|0;b=c+16|0;e=b;d=k[e>>2]|0;e=k[e+4>>2]|0;if((j|0)>(e|0)|((j|0)==(e|0)?(k[h>>2]|0)>>>0>d>>>0:0)){j=i[(k[c>>2]|0)+d>>0]|0;h=Fp(d|0,e|0,1,0)|0;k[b>>2]=h;k[b+4>>2]=M;b=j&255;k[a+24>>2]=b;break}else{j=0;u=g;return j|0}}else b=k[a+24>>2]|0;while(0);k[f>>2]=1400;k[f+4>>2]=-1;zq(f,b);j=Fl(f,k[a+16>>2]|0)|0;u=g;return j|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+32|0;b=e;if((l[(k[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Wa[k[(k[a>>2]|0)+52>>2]&255](a)|0):0){d=0;u=e;return d|0}k[b>>2]=1428;k[b+4>>2]=-1;d=b+8|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;Cm(b,k[a+24>>2]|0,k[a+28>>2]|0,i[(k[a+8>>2]|0)+24>>0]|0,da(o[a+32>>2]));a=Fl(b,k[a+16>>2]|0)|0;k[b>>2]=1428;d=k[d>>2]|0;if(d|0){b=b+12|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}d=a;u=e;return d|0}function wj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=k[a+4>>2]|0;g=a+8|0;b=k[g>>2]|0;if((b|0)!=(f|0))do{k[g>>2]=b+-116;e=k[b+-12>>2]|0;if(e|0){c=b+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[g>>2]|0}while((b|0)!=(f|0));b=k[a>>2]|0;if(!b)return;_r(b);return}function xj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=k[a>>2]|0;if(!b)return;g=a+4|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{k[g>>2]=c+-116;f=k[c+-12>>2]|0;if(f|0){d=c+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);_r(f)}d=k[c+-28>>2]|0;if(d|0){e=c+-24|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}d=k[c+-40>>2]|0;if(d|0){e=c+-36|0;f=k[e>>2]|0;if((f|0)!=(d|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);_r(d)}vk(c+-112|0);c=k[g>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}_r(b);return}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(um(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){h=c+20|0;g=k[h>>2]|0;d=g;if((e-g|0)>>>0>>0){d=Ra[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){g=b;while(1){if(!g){f=0;e=a;break b}e=g+-1|0;if((i[a+e>>0]|0)==10)break;else g=e}d=Ra[k[c+36>>2]&31](c,a,g)|0;if(d>>>0>>0)break a;f=g;e=a+g|0;b=b-g|0;d=k[h>>2]|0}else{f=0;e=a}while(0);Gh(d|0,e|0,b|0)|0;k[h>>2]=(k[h>>2]|0)+b;d=f+b|0}while(0);return d|0}function zj(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=u;u=u+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=go()|0;if(a|0?(d=k[a>>2]|0,d|0):0){a=d+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[c>>2]=k[1468];Po(23329,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;d=Ra[k[(k[320]|0)+16>>2]&31](1280,d,e)|0;b=k[1468]|0;if(d){h=k[e>>2]|0;h=Wa[k[(k[h>>2]|0)+8>>2]&255](h)|0;k[f>>2]=b;k[f+4>>2]=a;k[f+8>>2]=h;Po(23243,f)}else{k[h>>2]=b;k[h+4>>2]=a;Po(23288,h)}}Po(23367,g)}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=jo(36)|0;vq(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;d=k[h>>2]|0;e=a-d>>2;do if((e|0)<=(b|0)){c=b+1|0;if(c>>>0>e>>>0){bh(h,c-e|0);break}if(c>>>0>>0?(g=d+(c<<2)|0,(a|0)!=(g|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);h=(k[h>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(!a)return 1;Ta[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function Bj(a){a=a|0;var b=0,c=0,d=0;b=k[a+92>>2]|0;if(b|0){c=a+96|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+76>>2]|0;if(b|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+52>>2]|0;if(b|0){c=a+56|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+4>>2]=4388;b=k[a+24>>2]|0;if(b|0)_r(b);b=k[a+12>>2]|0;if(!b)return;_r(b);return}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=u;u=u+80|0;g=e;f=e+16|0;d=e+4|0;k[g>>2]=c&1;Co(f,19140,g)|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,f,Vk(f)|0);a=sj(a,b)|0;b=a+11|0;if((i[b>>0]|0)<0){i[k[a>>2]>>0]=0;k[a+4>>2]=0}else{i[a>>0]=0;i[b>>0]=0}vi(a,0);k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jp(d);u=e;return}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+4|0;d=k[j>>2]|0;c=k[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Jq(a);c=k[a>>2]|0;d=k[j>>2]|0}i=a+8|0;h=(k[i>>2]|0)-c|0;g=h>>1;g=h>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;e=d-c>>2;do if(g)if(g>>>0>1073741823){j=Ma(4)|0;Cr(j);wa(j|0,1344,125)}else{h=jo(g<<2)|0;break}else h=0;while(0);f=h+(e<<2)|0;k[f>>2]=k[b>>2];d=d-c|0;e=f+(0-(d>>2)<<2)|0;if((d|0)>0)Gh(e|0,c|0,d|0)|0;k[a>>2]=e;k[j>>2]=f+4;k[i>>2]=h+(g<<2);if(!c)return;_r(c);return}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}c=(Ur()|0)+188|0;if(!(k[k[c>>2]>>2]|0))if((b&-128|0)==57216){i[a>>0]=b;a=1;break}else{a=Lr()|0;k[a>>2]=84;a=-1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Lr()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Fj(a){a=a|0;var b=0,c=0,d=0,e=0;e=k[a>>2]|0;k[a>>2]=0;if(!e)return;a=k[e+28>>2]|0;if(a|0)do{d=a;a=k[a>>2]|0;Fj(d+20|0);Jp(d+8|0);_r(d)}while((a|0)!=0);d=e+20|0;a=k[d>>2]|0;k[d>>2]=0;if(a|0)_r(a);a=k[e+8>>2]|0;if(a|0)do{b=a;a=k[a>>2]|0;c=k[b+20>>2]|0;if(c|0){d=b+24|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}Jp(b+8|0);_r(b)}while((a|0)!=0);a=k[e>>2]|0;k[e>>2]=0;if(a|0)_r(a);_r(e);return}function Gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=u;u=u+80|0;e=h;f=h+56|0;g=h+40|0;d=e;c=d+40|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));tc(g,e,f);b=k[g>>2]|0;if(!b){Jp(g+4|0);g=l[f+7>>0]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=g;g=e+24|0;ds(g);u=h;return}else{k[a>>2]=b;g=g+4|0;gm(a+4|0,g);Jp(g);g=e+24|0;ds(g);u=h;return}}function Hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=u;u=u+16|0;c=d;if(!b){c=0;u=d;return c|0}g=b+4|0;e=(k[g>>2]|0)-(k[b>>2]|0)>>2;i[c>>0]=0;Qh(a,e,c);e=b+24|0;f=b+28|0;h=(k[f>>2]|0)-(k[e>>2]|0)>>2;i[c>>0]=0;Qh(a+12|0,h,c);Dg(a+28|0,(k[g>>2]|0)-(k[b>>2]|0)>>2,4800);Nk(a+52|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);Nk(a+40|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);k[a+64>>2]=b;i[a+24>>0]=1;c=1;u=d;return c|0}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+28>>2]|0;if(b|0)do{c=b;b=k[b>>2]|0;e=c+20|0;d=k[e>>2]|0;k[e>>2]=0;if(d|0){Ij(d);_r(d)}Jp(c+8|0);_r(c)}while((b|0)!=0);e=a+20|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)_r(b);b=k[a+8>>2]|0;if(b|0)do{c=b;b=k[b>>2]|0;d=k[c+20>>2]|0;if(d|0){e=c+24|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;_r(d)}Jp(c+8|0);_r(c)}while((b|0)!=0);b=k[a>>2]|0;k[a>>2]=0;if(!b)return;_r(b);return}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;do if(((l[(k[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){g=c+8|0;h=k[g+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0)){h=i[(k[c>>2]|0)+e>>0]|0;f=Fp(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;k[a+24>>2]=h&255;break}else{h=0;return h|0}}while(0);h=Ud(a,b,c)|0;return h|0}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=k[b>>2]|0;k[b>>2]=0;d=k[c>>2]|0;k[c>>2]=a;if(!d)return;b=d+88|0;c=k[b>>2]|0;k[b>>2]=0;if(c|0){a=k[c+8>>2]|0;if(a|0){b=c+12|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c)}a=k[d+68>>2]|0;if(a|0){b=d+72|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}c=d+64|0;a=k[c>>2]|0;k[c>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}_r(d);return}function Lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(b>>>0<64){a=k[a+8>>2]|0;if(a>>>0<=1){f=0;return f|0}c=k[c>>2]|0;b=0;d=1;do{b=(k[c+(b<<2)>>2]|0)>>>0>(k[c+(d<<2)>>2]|0)>>>0?d:b;d=d+1|0}while(d>>>0>>0);return b|0}e=a+576|0;f=k[e>>2]|0;d=32-f|0;c=a+572|0;a=k[c>>2]|0;b=k[a>>2]<>2]=f;e=a+4|0;k[c>>2]=e;f=32-f|0;f=(k[e>>2]|0)>>>f|b>>>(f-d|0);return f|0}b=b>>>28;f=f+4|0;k[e>>2]=f;if((f|0)!=32){f=b;return f|0}k[c>>2]=a+4;k[e>>2]=0;f=b;return f|0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+8|0;h=k[a>>2]|0;e=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){i=Ma(4)|0;Cr(i);wa(i|0,1344,125)}j=k[i>>2]|0;d=jo(b*12|0)|0;c=d+(((j-h|0)/12|0)*12|0)|0;f=c;d=d+(b*12|0)|0;b=j;if((b|0)==(e|0))c=f;else do{j=b;b=b+-12|0;k[c+-12>>2]=k[b>>2];k[c+-8>>2]=k[j+-8>>2];k[c+-4>>2]=k[j+-4>>2];c=c+-12|0}while((b|0)!=(e|0));k[a>>2]=c;k[i>>2]=f;k[g>>2]=d;if(!h)return;_r(h);return}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=u;u=u+128|0;e=m+124|0;l=m;f=l;g=5360;h=f+124|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if((b+-1|0)>>>0>2147483646)if(!b){a=e;b=1;j=4}else{b=Lr()|0;k[b>>2]=75;b=-1}else j=4;if((j|0)==4){j=-2-a|0;j=b>>>0>j>>>0?j:b;k[l+48>>2]=j;e=l+20|0;k[e>>2]=a;k[l+44>>2]=a;b=a+j|0;a=l+16|0;k[a>>2]=b;k[l+28>>2]=b;b=ji(l,c,d)|0;if(j){l=k[e>>2]|0;i[l+(((l|0)==(k[a>>2]|0))<<31>>31)>>0]=0}}u=m;return b|0}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=b+8|0;g=k[e+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((g|0)>(d|0)|((g|0)==(d|0)?(k[e>>2]|0)>>>0>c>>>0:0))){g=0;return g|0}e=i[(k[b>>2]|0)+c>>0]|0;d=Fp(c|0,d|0,1,0)|0;g=f;k[g>>2]=d;k[g+4>>2]=M;do if(e<<24>>24<0)if(Oj(a,b)|0){b=a;b=No(k[b>>2]|0,k[b+4>>2]|0,7)|0;c=M;g=a;k[g>>2]=b;k[g+4>>2]=c;b=b|e&127;break}else{g=0;return g|0}else{b=e&255;c=0}while(0);g=a;k[g>>2]=b;k[g+4>>2]=c;g=1;return g|0}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;if((a|0)<0){d=0;return d|0}if(!a){d=1;return d|0}h=c+8|0;j=k[h+4>>2]|0;e=c+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((j|0)>(g|0)|((j|0)==(g|0)?(k[h>>2]|0)>>>0>f>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+f>>0]|0;g=Fp(f|0,g|0,1,0)|0;h=e;k[h>>2]=g;k[h+4>>2]=M;switch(j<<24>>24){case 0:{j=od(a,b,c,d)|0;return j|0}case 1:{j=ze(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;g=j;h=a+11|0;d=i[h>>0]|0;e=d<<24>>24<0;if(e)f=(k[a+8>>2]&2147483647)+-1|0;else f=10;do if(f>>>0>=c>>>0){if(e)d=k[a>>2]|0;else d=a;Mp(d,b,c)|0;i[g>>0]=0;Oq(d+c|0,g);if((i[h>>0]|0)<0){k[a+4>>2]=c;break}else{i[h>>0]=c;break}}else{if(e)d=k[a+4>>2]|0;else d=d&255;rj(a,f,c-f|0,d,0,d,c,b)}while(0);u=j;return a|0}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(!c){d=0;return d|0}d=k[b>>2]|0;if(!d){d=0;return d|0}e=k[d>>2]|0;gk(c,e,(k[d+4>>2]|0)-e|0,0)|0;i[a+24>>0]=i[b+24>>0]|0;k[a+28>>2]=k[b+28>>2];i[a+32>>0]=i[b+32>>0]|0;c=b+40|0;d=k[c+4>>2]|0;e=a+40|0;k[e>>2]=k[c>>2];k[e+4>>2]=d;e=b+48|0;d=k[e+4>>2]|0;c=a+48|0;k[c>>2]=k[e>>2];k[c+4>>2]=d;k[a+56>>2]=k[b+56>>2];c=b+8|0;d=a+8|0;k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];k[d+12>>2]=k[c+12>>2];d=1;return d|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=u;u=u+16|0;h=l;if(b|0){j=a+11|0;d=i[j>>0]|0;if(d<<24>>24<0){f=k[a+4>>2]|0;e=(k[a+8>>2]&2147483647)+-1|0}else{f=d&255;e=10}g=f+b|0;if((e-f|0)>>>0>>0){ik(a,e,g-e|0,f,f,0,0);d=i[j>>0]|0}if(d<<24>>24<0)d=k[a>>2]|0;else d=a;Lo(d+f|0,b,c)|0;if((i[j>>0]|0)<0)k[a+4>>2]=g;else i[j>>0]=g;i[h>>0]=0;Oq(d+g|0,h)}u=l;return a|0}function Tj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+4|0;g=k[i>>2]|0;h=a+8|0;a=k[h>>2]|0;d=g+4|0;c=k[d>>2]|0;b=k[g>>2]|0;e=c-b>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(f=b+(a<<2)|0,(c|0)!=(f|0)):0)k[d>>2]=c+(~((c+-4-f|0)>>>2)<<2)}else{oj(g,a-e|0);a=k[h>>2]|0}if((a|0)>0)d=0;else return 1;do{b=k[i>>2]|0;c=k[b>>2]|0;if((k[b+4>>2]|0)-c>>2>>>0<=d>>>0){Iq(b);c=k[b>>2]|0;a=k[h>>2]|0}k[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(a|0));return 1}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4208;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=4632;d=k[a+20>>2]|0;if(d|0){b=a+24|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}d=a+8|0;b=k[d>>2]|0;if(!b){_r(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b);_r(a);return}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+48|0;f=g;if((c|0)!=1){f=0;u=g;return f|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));e=gi(b,e,c,f)|0;d=k[f+24>>2]|0;if(d|0){c=f+28|0;a=k[c>>2]|0;if((a|0)!=(d|0))k[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);_r(d)}f=e;u=g;return f|0}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if(!(bj(a+8|0,b)|0)){e=0;return e|0}f=b+8|0;g=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((g|0)>(e|0)|((g|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0)?(g=i[(k[b>>2]|0)+d>>0]|0,e=Fp(d|0,e|0,1,0)|0,f=c,k[f>>2]=e,k[f+4>>2]=M,g<<24>>24):0){g=0;return g|0}g=Cg(a+84|0,b)|0;return g|0}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=u;u=u+32|0;d=f+12|0;e=f;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,b,Vk(b)|0);k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);a=Vg(k[a+4>>2]|0,d,e)|0;if(!a)a=-1;else a=k[a+40>>2]|0;Jp(e);Jp(d);u=f;return a|0}function Yj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if(!(uq(a,k[b+8>>2]|0,e)|0)){if(uq(a,k[b>>2]|0,e)|0){a=b+32|0;if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[a>>2]=d;k[f>>2]=c;d=b+40|0;k[d>>2]=(k[d>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[a>>2]=1}}else Jn(0,b,c,d);while(0);return}function Zj(a){a=a|0;ds(a+496|0);ds(a+480|0);ds(a+464|0);ds(a+448|0);ds(a+432|0);ds(a+416|0);ds(a+400|0);ds(a+384|0);ds(a+368|0);ds(a+352|0);ds(a+336|0);ds(a+320|0);ds(a+304|0);ds(a+288|0);ds(a+272|0);ds(a+256|0);ds(a+240|0);ds(a+224|0);ds(a+208|0);ds(a+192|0);ds(a+176|0);ds(a+160|0);ds(a+144|0);ds(a+128|0);ds(a+112|0);ds(a+96|0);ds(a+80|0);ds(a+64|0);ds(a+48|0);ds(a+32|0);ds(a+16|0);ds(a);return}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a+c|0;b=b&255;if((c|0)>=67){while(a&3){i[a>>0]=b;a=a+1|0}d=f&-4|0;e=d-64|0;g=b|b<<8|b<<16|b<<24;while((a|0)<=(e|0)){k[a>>2]=g;k[a+4>>2]=g;k[a+8>>2]=g;k[a+12>>2]=g;k[a+16>>2]=g;k[a+20>>2]=g;k[a+24>>2]=g;k[a+28>>2]=g;k[a+32>>2]=g;k[a+36>>2]=g;k[a+40>>2]=g;k[a+44>>2]=g;k[a+48>>2]=g;k[a+52>>2]=g;k[a+56>>2]=g;k[a+60>>2]=g;a=a+64|0}while((a|0)<(d|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}return f-c|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=Ld(a,b)|0;if(!a){c=0;return c|0}d=a+20|0;e=k[d>>2]|0;a=a+24|0;b=k[a>>2]|0;if((e|0)==(b|0)){c=0;return c|0}uk(c,b-e|0,0);e=qm(c,0)|0;c=k[d>>2]|0;Gh(e|0,c|0,(k[a>>2]|0)-c|0)|0;c=1;return c|0}function ak(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;f=k[d>>2]|0;h=b+54|0;j=b+48|0;g=b+24|0;a=b+36|0;if(!f){k[d>>2]=c;k[g>>2]=e;k[a>>2]=1;if(!((k[j>>2]|0)==1&(e|0)==1))break;i[h>>0]=1;break}if((f|0)!=(c|0)){k[a>>2]=(k[a>>2]|0)+1;i[h>>0]=1;break}a=k[g>>2]|0;if((a|0)==2){k[g>>2]=e;a=e}if((k[j>>2]|0)==1&(a|0)==1)i[h>>0]=1}while(0);return}function bk(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4208;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=4632;d=k[a+20>>2]|0;if(d|0){b=a+24|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}e=a+8|0;b=k[e>>2]|0;if(!b)return;d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[d>>2]=a;c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}_r(b);return}function ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if(!(ej(a+8|0,b)|0)){e=0;return e|0}f=b+8|0;g=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((g|0)>(e|0)|((g|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0)?(g=i[(k[b>>2]|0)+d>>0]|0,e=Fp(d|0,e|0,1,0)|0,f=c,k[f>>2]=e,k[f+4>>2]=M,g<<24>>24):0){g=0;return g|0}g=Cg(a+84|0,b)|0;return g|0}function dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+12|0;d=e;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;Jk(c,b,Vk(b)|0);k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,20311,4);a=Vg(k[a+4>>2]|0,d,c)|0;if(!a)a=-1;else a=k[a+40>>2]|0;Jp(d);Jp(c);u=e;return a|0}function ek(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1572;c=a+16|0;d=k[c>>2]|0;k[c>>2]=0;if(!d)return;c=d+88|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0){c=k[b+8>>2]|0;if(c|0){a=b+12|0;if((k[a>>2]|0)!=(c|0))k[a>>2]=c;_r(c)}_r(b)}a=k[d+68>>2]|0;if(a|0){b=d+72|0;c=k[b>>2]|0;if((c|0)!=(a|0))k[b>>2]=c+(~((c+-4-a|0)>>>2)<<2);_r(a)}c=d+64|0;a=k[c>>2]|0;k[c>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a)}_r(d);return}function fk(a,b){a=a|0;b=b|0;if(!b)return;else{fk(a,k[b>>2]|0);fk(a,k[b+4>>2]|0);nk(b+20|0,k[b+24>>2]|0);_r(b);return}}function gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((d|0)<0){c=0;return c|0}do if(!b){b=a+4|0;d=k[b>>2]|0;e=k[a>>2]|0;f=d-e|0;if(c>>>0>f>>>0){qj(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(d|0)!=(g|0)):0)k[b>>2]=g}else ah(a,b,b+c|0);while(0);c=a+24|0;g=c;g=Fp(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[c>>2]=g;k[c+4>>2]=M;c=1;return c|0}function hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Wg(a,b,c);d=k[a+84>>2]|0;a=(k[a+88>>2]|0)-d|0;if((a|0)<=0)return;b=k[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;k[e>>2]=k[b+(k[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function ik(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;var h=0,j=0,l=0;if((-17-b|0)>>>0>>0)Fq(a);if((i[a+11>>0]|0)<0)l=k[a>>2]|0;else l=a;if(b>>>0<2147483623){h=c+b|0;j=b<<1;h=h>>>0>>0?j:h;h=h>>>0<11?11:h+16&-16}else h=-17;j=jo(h)|0;if(e|0)Qp(j,l,e)|0;c=d-f-e|0;if(c|0)Qp(j+e+g|0,l+e+f|0,c)|0;if((b|0)!=10)_r(l);k[a>>2]=j;k[a+8>>2]=h|-2147483648;return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=a+64|0;if((k[f>>2]|0)==0?(e=jo(32)|0,vo(e),d=k[f>>2]|0,k[f>>2]=e,d|0):0){e=k[d>>2]|0;if(e|0){c=d+4|0;if((k[c>>2]|0)!=(e|0))k[c>>2]=e;_r(e)}_r(d)}c=Zm(k[a+28>>2]|0)|0;c=$(i[a+24>>0]|0,c)|0;d=((c|0)<0)<<31>>31;g=k[f>>2]|0;e=io(c|0,d|0,b|0,0)|0;if(!(gk(g,0,e,M)|0)){g=0;return g|0}tl(a,k[f>>2]|0,c,d,0,0);k[a+80>>2]=b;g=1;return g|0}function kk(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=Xr(g)|0;_j(h|0,0,g|0)|0;g=a+8|0;dj(g,h,b,c);if((e|0)>=(d|0)){Yr(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;dj(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Yr(h);return 1}function lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=u;u=u+64|0;e=g;if(!(uq(a,b,0)|0))if((b|0)!=0?(f=mi(b,1304,1288,0)|0,(f|0)!=0):0){b=e+4|0;d=b+52|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[e>>2]=f;k[e+8>>2]=a;k[e+12>>2]=-1;k[e+48>>2]=1;$a[k[(k[f>>2]|0)+28>>2]&3](f,e,k[c>>2]|0,1);if((k[e+24>>2]|0)==1){k[c>>2]=k[e+16>>2];b=1}else b=0}else b=0;else b=1;u=g;return b|0}function mk(a){a=a|0;var b=0,c=0,d=0;b=k[a+48>>2]|0;if(b|0){c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+24>>2]|0;if(b|0){c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);return}function nk(a,b){a=a|0;b=b|0;if(!b)return;else{nk(a,k[b>>2]|0);nk(a,k[b+4>>2]|0);Jp(b+28|0);Jp(b+16|0);_r(b);return}}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;if((b|0)>=33)Ka(19947,19277,53,20081);if((b|0)<=0)Ka(20110,19277,54,20081);g=a+8|0;h=a+4|0;f=0-(l[a+12>>0]|0)&255;e=0;d=k[g>>2]|0;do{if(d>>>0<4096){j=k[a>>2]|0;i=(k[h>>2]|0)+-1|0;k[h>>2]=i;d=l[j+i>>0]|0|d<<8;k[g>>2]=d}m=d&255;i=$(d>>>8,f)|0;j=m>>>0>>0;d=j?i+m|0:d-f-i|0;k[g>>2]=d;e=j&1|e<<1;b=b+-1|0}while((b|0)!=0);k[c>>2]=e;return}function pk(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=Xr(g)|0;_j(h|0,0,g|0)|0;g=a+8|0;gj(g,h,b,c);if((e|0)>=(d|0)){Yr(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;gj(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Yr(h);return 1}function qk(a,b,c){a=a|0;b=b|0;c=c|0;a=Ld(a,b)|0;if(!a){c=0;return c|0}b=k[a+20>>2]|0;if(((k[a+24>>2]|0)-b|0)!=4){c=0;return c|0}b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[c>>0]=b;i[c+1>>0]=b>>8;i[c+2>>0]=b>>16;i[c+3>>0]=b>>24;c=1;return c|0}function rk(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0;k[a>>2]=c;if(c|0){o=c+16|0;m=k[o+4>>2]|0;n=a+8|0;k[n>>2]=k[o>>2];k[n+4>>2]=m;n=c+24|0;m=k[n+4>>2]|0;c=a+16|0;k[c>>2]=k[n>>2];k[c+4>>2]=m}i[a+24>>0]=d;k[a+28>>2]=e;i[a+32>>0]=f&1;o=a+40|0;k[o>>2]=g;k[o+4>>2]=h;o=a+48|0;k[o>>2]=j;k[o+4>>2]=l;k[a+56>>2]=b;return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=b+8|0;g=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((g|0)>(d|0)|((g|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0))){g=0;return g|0}f=i[(k[b>>2]|0)+c>>0]|0;g=Fp(c|0,d|0,1,0)|0;c=e;k[c>>2]=g;k[c+4>>2]=M;c=f&255;do if(c&128)if(sk(a,b)|0){c=k[a>>2]<<7;k[a>>2]=c;c=c|f&127;break}else{g=0;return g|0}while(0);k[a>>2]=c;g=1;return g|0}function tk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b+8>>2]|0;if(c|0){d=b+12|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}b=k[a+68>>2]|0;if(b|0){c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=a+64|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;_r(c)}_r(b)}_r(a);return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=u;u=u+16|0;e=h;f=a+11|0;d=i[f>>0]|0;g=d<<24>>24<0;if(g)d=k[a+4>>2]|0;else d=d&255;do if(d>>>0>=b>>>0)if(g){g=(k[a>>2]|0)+b|0;i[e>>0]=0;Oq(g,e);k[a+4>>2]=b;break}else{i[e>>0]=0;Oq(a+b|0,e);i[f>>0]=b;break}else Sj(a,b-d|0,c)|0;while(0);u=h;return}function vk(a){a=a|0;var b=0,c=0,d=0;b=k[a+52>>2]|0;if(b|0){c=a+56|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+40>>2]|0;if(b|0){c=a+44|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+28>>2]|0;if(b|0){c=a+32|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+12>>2]|0;if(b|0)_r(b);b=k[a>>2]|0;if(!b)return;_r(b);return}function wk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4268;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Bn(b);Bn(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function xk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4632;b=k[a+20>>2]|0;if(b|0){c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=a+8|0;b=k[d>>2]|0;if(!b){_r(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}_r(b);_r(a);return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){Jq(a);g=Ma(4)|0;Cr(g);wa(g|0,1344,125)}e=jo(c)|0;k[g>>2]=e;k[a>>2]=e;k[a+8>>2]=e+(d<<2);a=k[b>>2]|0;c=(k[f>>2]|0)-a|0;if((c|0)<=0)return;Gh(e|0,a|0,c|0)|0;k[g>>2]=e+(c>>>2<<2);return}function zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a+12|0;e=a;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);$j(b,e,d)|0;c=(i[d+11>>0]|0)<0?k[d>>2]|0:d;Jp(e);Jp(d);u=a;return c|0}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=u;u=u+16|0;g=j;h=b&255;i[g>>0]=h;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(um(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){f=a+20|0;d=k[f>>2]|0;if(d>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[f>>2]=d+1;i[d>>0]=h;break}if((Ra[k[a+36>>2]&31](a,g,1)|0)==1)c=l[g>>0]|0;else c=-1}while(0);u=j;return c|0}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4632;b=k[a+20>>2]|0;if(b|0){c=a+24|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}e=a+8|0;b=k[e>>2]|0;if(!b)return;d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[d>>2]=a;c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}_r(b);return}function Ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a&255;c=a&255;if((k[b+76>>2]|0)>=0?(es(b)|0)!=0:0){if((c|0)!=(i[b+75>>0]|0)?(f=b+20|0,g=k[f>>2]|0,g>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=g+1;i[g>>0]=h}else c=Ak(b,a)|0;ds(b)}else j=3;do if((j|0)==3){if((c|0)!=(i[b+75>>0]|0)?(d=b+20|0,e=k[d>>2]|0,e>>>0<(k[b+16>>2]|0)>>>0):0){k[d>>2]=e+1;i[e>>0]=h;break}c=Ak(b,a)|0}while(0);return c|0}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;k[a>>2]=0;d=a+4|0;k[d>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Jq(a);d=Ma(4)|0;Cr(d);wa(d|0,1344,125)}e=jo(b*12|0)|0;k[d>>2]=e;k[a>>2]=e;k[a+8>>2]=e+(b*12|0);a=e;do{yk(a,c);a=(k[d>>2]|0)+12|0;k[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ek(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2300;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Fk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1964;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;d=a+12|0;e=a;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);c=$j(b,e,d)|0;Jp(e);Jp(d);u=a;return c|0}function Hk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4432;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));cm(b);return}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;k[a>>2]=0;e=a+4|0;k[e>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Jq(a);e=Ma(4)|0;Cr(e);wa(e|0,1344,125)}f=jo(b<<2)|0;k[e>>2]=f;k[a>>2]=f;d=f+(b<<2)|0;k[a+8>>2]=d;a=f;while(1){k[a>>2]=k[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}k[e>>2]=d;return}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=u;u=u+16|0;d=f;if(c>>>0<=4294967279)if(c>>>0<11)i[a+11>>0]=c;else e=5;else{Fq(a);e=5}if((e|0)==5){g=c+16&-16;e=jo(g)|0;k[a>>2]=e;k[a+8>>2]=g|-2147483648;k[a+4>>2]=c;a=e}Qp(a,b,c)|0;i[d>>0]=0;Oq(a+c|0,d);u=f;return}function Kk(a){a=a|0;var b=0,c=0;k[a>>2]=2300;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Lk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;while(1){d=i[a>>0]|0;b=d<<24>>24;e=a+1|0;if(!(qr(b)|0))break;else a=e}switch(b|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;c=a;a=d}}if((f|0)==5){g=a;c=e;a=i[e>>0]|0}b=(a<<24>>24)+-48|0;if(b>>>0<10){a=0;do{c=c+1|0;a=(a*10|0)-b|0;b=(i[c>>0]|0)+-48|0}while(b>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=k[a+32>>2]|0;h=f+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[f>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=b;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+68>>2]=h;h=1;return h|0}function Nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;h=k[a>>2]|0;if((k[f>>2]|0)-h>>2>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>1073741823){i=Ma(4)|0;Cr(i);wa(i|0,1344,125)}c=(k[i>>2]|0)-h|0;g=c>>2;d=jo(b<<2)|0;e=d+(g<<2)|0;g=e+(0-g<<2)|0;if((c|0)>0)Gh(g|0,h|0,c|0)|0;k[a>>2]=g;k[i>>2]=e;k[f>>2]=d+(b<<2);if(!h)return;_r(h);return}function Ok(a){a=a|0;var b=0,c=0;k[a>>2]=1964;b=k[a+96>>2]|0;if(b|0)_r(b);b=k[a+84>>2]|0;if(b|0)_r(b);b=k[a+72>>2]|0;if(b|0)_r(b);b=k[a+60>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;b=Eh(a,b)|0;if((b|0)==(a+4|0)){a=-1;b=(a|0)==-1;a=(a|0)!=0;c=b?c:a;return c|0}b=b+28|0;if((i[b+11>>0]|0)<0)b=k[b>>2]|0;a=Lk(b)|0;b=(a|0)==-1;a=(a|0)!=0;c=b?c:a;return c|0}function Qk(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+68>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Em(a,a)|0)){a=0;b=5;break}a=k[d>>2]|0;if((b|0)>=((k[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Rk(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;k[e>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,17615,24);Cj(sd(a,e)|0,d,1);Jp(d);u=c;return} -function ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=u;u=u+48|0;qa=Aa+40|0;xa=Aa+28|0;ya=Aa+8|0;$=Aa+4|0;ra=Aa;k[xa>>2]=0;za=xa+4|0;k[za>>2]=0;k[xa+8>>2]=0;k[ya>>2]=0;k[ya+4>>2]=0;k[ya+8>>2]=0;k[ya+12>>2]=0;o[ya+16>>2]=da(1.0);va=a+136|0;la=k[a+140>>2]|0;a:do if((b|0)>0){D=a+240|0;E=a+356|0;F=a+276|0;H=a+352|0;J=a+272|0;K=a+264|0;M=a+268|0;N=a+8|0;O=ya+4|0;P=a+340|0;Q=xa+8|0;S=a+36|0;T=a+40|0;V=b+-1|0;W=a+368|0;Y=a+380|0;e=0;y=0;while(1){d=y+1|0;c=k[E>>2]|0;b:do if((c|0)!=-1){x=k[W>>2]|0;w=(k[Y>>2]|0)+(c<<2)|0;ma=(k[w>>2]|0)+-1|0;k[w>>2]=ma;ma=k[(k[x+(c*12|0)>>2]|0)+(ma<<2)>>2]|0;c=k[4520+(ma<<2)>>2]|0;k[H>>2]=c;if(!ma)ma=15;else ma=58}else{do if(!(i[F>>0]|0))c=1;else{f=k[J>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(ma=l[c>>0]|0,aa=f+1|0,k[J>>2]=aa,ma&1<<(f&7)|0):0){c=h+(aa>>>3)|0;if(c>>>0>>0){g=(l[c>>0]|0)>>>(aa&7)&1;f=f+2|0;k[J>>2]=f}else{g=0;f=aa}c=h+(f>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(f&7);k[J>>2]=f+1;c=c<<1&2}else c=0;c=(c|g)<<1|1;break}k[H>>2]=0;ma=15;break b}while(0);k[H>>2]=c;ma=58}while(0);c:do if((ma|0)==15){ma=0;c=k[za>>2]|0;if((k[xa>>2]|0)==(c|0)){e=-1;break a}v=k[c+-4>>2]|0;w=(v|0)<0;d:do if(!w){c=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ma=18;else{g=k[N>>2]|0;h=k[g+12>>2]|0;while(1){f=k[h+(c<<2)>>2]|0;if((f|0)<=-1){r=0;q=c;f=h;break d}c=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){r=1;q=c;f=h;break}}}}else{c=v;ma=18}while(0);if((ma|0)==18){ma=0;f=k[N>>2]|0;r=1;q=c;g=f;f=k[f+12>>2]|0}c=y*3|0;s=c+1|0;k[f+(v<<2)>>2]=s;k[f+(s<<2)>>2]=v;x=c+2|0;k[f+(q<<2)>>2]=x;k[f+(x<<2)>>2]=q;f=v+1|0;if(!w?(z=((f|0)%3|0|0)==0?v+-2|0:f,(z|0)>=0):0){t=k[g>>2]|0;p=k[t+(z<<2)>>2]|0;k[t+(c<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(C=f+(m<<2)|0,(g|0)!=(C|0)):0)k[h>>2]=g+(~((g+-4-C|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=c;t=p;f=k[N>>2]|0}else{t=p;f=g}}else{k[(k[g>>2]|0)+(c<<2)>>2]=-1073741824;t=-1073741824;f=g}g=q+1|0;if(!r?(B=((g|0)%3|0|0)==0?q+-2|0:g,(B|0)>=0):0){r=k[f>>2]|0;p=k[r+(B<<2)>>2]|0;k[r+(s<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(G=f+(m<<2)|0,(g|0)!=(G|0)):0)k[h>>2]=g+(~((g+-4-G|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(s<<2)>>2]=-1073741824;if(!w?(I=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(I|0)>=0):0){w=k[f>>2]|0;p=k[w+(I<<2)>>2]|0;k[w+(x<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(L=f+(m<<2)|0,(g|0)!=(L|0)):0)k[h>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);g=x;f=f+(p<<2)|0;ma=55}}else{g=-1073741824;f=(k[f>>2]|0)+(x<<2)|0;ma=55}if((ma|0)==55){ma=0;k[f>>2]=g}if((e|0)>(la|0)){e=-1;break a}f=(k[va>>2]|0)+(t>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(t&31));k[(k[za>>2]|0)+-4>>2]=c;f=0}else if((ma|0)==58){ma=0;switch(c|0){case 3:case 5:{f=k[za>>2]|0;if((k[xa>>2]|0)==(f|0)){e=-1;break a}s=k[f+-4>>2]|0;v=y*3|0;c=((c|0)==5?2:1)+v|0;f=k[N>>2]|0;t=k[f+12>>2]|0;k[t+(c<<2)>>2]=s;k[t+(s<<2)>>2]=c;t=e+1|0;k[(k[f>>2]|0)+(c<<2)>>2]=e;if((e|0)>-1){m=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[m>>2]|0;j=g-f>>2;do if(j>>>0<=e>>>0){if(t>>>0>j>>>0){oj(m,t-j|0);f=k[m>>2]|0;break}if(t>>>0>>0?(R=f+(t<<2)|0,(g|0)!=(R|0)):0)k[h>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);k[f+(e<<2)>>2]=c;f=k[N>>2]|0}q=(c|0)<0;e=c+1|0;if(q)p=c;else p=((e|0)%3|0|0)==0?c+-2|0:e;r=(s|0)<0;if(!r?(U=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(U|0)>=0):0){x=k[f>>2]|0;n=k[x+(U<<2)>>2]|0;k[x+(p<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(X=e+(j<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=p;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(p<<2)>>2]=-1073741824;do if(!q)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);e=s+1|0;if(!r?(A=((e|0)%3|0|0)==0?s+-2|0:e,(A|0)>=0):0){x=k[f>>2]|0;n=k[x+(A<<2)>>2]|0;k[x+(c<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Z=e+(j<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);e=e+(n<<2)|0;ma=96}}else{e=(k[f>>2]|0)+(c<<2)|0;c=-1073741824;ma=96}if((ma|0)==96){ma=0;k[e>>2]=c}k[(k[za>>2]|0)+-4>>2]=v;f=1;e=t;c=v;break c}case 1:{p=k[xa>>2]|0;c=k[za>>2]|0;if((p|0)==(c|0)){e=-1;break a}q=c+-4|0;g=k[q>>2]|0;k[za>>2]=q;j=k[O>>2]|0;e:do if(j){m=j+-1|0;h=(m&j|0)==0;if(h)n=m&y;else n=(y>>>0)%(j>>>0)|0;f=k[(k[ya>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((k[f+4>>2]&m|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));else do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));f=f+12|0;if((q|0)==(k[Q>>2]|0)){Dj(xa,f);f=k[xa>>2]|0;c=k[za>>2]|0;break}else{k[q>>2]=k[f>>2];k[za>>2]=c;f=p;break}}else{f=p;c=q}}else{f=p;c=q}while(0);if((f|0)==(c|0)){e=-1;break a}r=k[c+-4>>2]|0;c=y*3|0;v=c+2|0;f=k[N>>2]|0;x=k[f+12>>2]|0;k[x+(r<<2)>>2]=v;k[x+(v<<2)>>2]=r;t=c+1|0;k[x+(g<<2)>>2]=t;k[x+(t<<2)>>2]=g;if((r|0)>=0){h=(((r>>>0)%3|0|0)==0?2:-1)+r|0;j=k[f>>2]|0;if((h|0)>=0){q=k[j+(h<<2)>>2]|0;k[j+(c<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(_=f+(n<<2)|0,(h|0)!=(_|0)):0)k[j>>2]=h+(~((h+-4-_|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=c;s=q;f=k[N>>2]|0;m=1}else{s=q;m=0}}else{k[j+(c<<2)>>2]=-1073741824;s=-1073741824;m=0}j=r+1|0;j=((j|0)%3|0|0)==0?r+-2|0:j;h=k[f>>2]|0;if((j|0)>=0){r=k[h+(j<<2)>>2]|0;k[h+(t<<2)>>2]=r;if((r|0)>-1){q=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(ba=f+(p<<2)|0,(h|0)!=(ba|0)):0)k[j>>2]=h+(~((h+-4-ba|0)>>>2)<<2)}while(0);k[f+(r<<2)>>2]=t;j=s;f=k[N>>2]|0;s=m}else{j=s;s=m}}else{j=s;ma=128}}else{h=k[f>>2]|0;k[h+(c<<2)>>2]=-1073741824;m=0;j=-1073741824;ma=128}if((ma|0)==128){ma=0;k[h+(t<<2)>>2]=-1073741824;s=m}if((g|0)>=0){h=(((g>>>0)%3|0|0)==0?2:-1)+g|0;m=k[f>>2]|0;if((h|0)>=0){r=k[m+(h<<2)>>2]|0;k[m+(v<<2)>>2]=r;if((r|0)>-1){q=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(ca=f+(p<<2)|0,(h|0)!=(ca|0)):0)k[m>>2]=h+(~((h+-4-ca|0)>>>2)<<2)}while(0);h=v;f=f+(r<<2)|0;ma=149}}else{h=-1073741824;f=m+(v<<2)|0;ma=149}if((ma|0)==149){ma=0;k[f>>2]=h}f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)r=-1073741824;else r=k[(k[f>>2]|0)+(g<<2)>>2]|0}else{k[(k[f>>2]|0)+(v<<2)>>2]=-1073741824;r=-1073741824}w=k[P>>2]|0;x=w+(j<<2)|0;k[x>>2]=(k[x>>2]|0)+(k[w+(r<<2)>>2]|0);f:do if((g|0)>-1){q=j+1|0;if(!s){m=k[f>>2]|0;n=f+12|0;while(1){k[m+(g<<2)>>2]=j;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break f;g=k[(k[n>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(g<<2)>>2]=j;p=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[p>>2]|0;n=h-f>>2;do if(n>>>0<=j>>>0){if(q>>>0>n>>>0){oj(p,q-n|0);f=k[p>>2]|0;break}if(q>>>0>>0?(ea=f+(q<<2)|0,(h|0)!=(ea|0)):0)k[m>>2]=h+(~((h+-4-ea|0)>>>2)<<2)}while(0);k[f+(j<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(r<<2)>>2]=-1073741824;k[(k[za>>2]|0)+-4>>2]=c;f=0;break c}case 7:{m=y*3|0;k[qa>>2]=m;f=k[N>>2]|0;p=e+1|0;c=k[f>>2]|0;k[c+(m<<2)>>2]=e;if((e|0)<=-1){g=m+1|0;h=e+2|0;k[c+(g<<2)>>2]=p;if((e|0)==-1){c=f;ma=177}else{g=m;n=h}}else{j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(p>>>0>h>>>0){oj(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(fa=c+(p<<2)|0,(f|0)!=(fa|0)):0)k[g>>2]=f+(~((f+-4-fa|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;c=k[N>>2]|0;g=(k[qa>>2]|0)+1|0;k[(k[c>>2]|0)+(g<<2)>>2]=p;h=e+2|0;ma=177}if((ma|0)==177){ma=0;n=c+24|0;j=c+28|0;f=k[j>>2]|0;c=k[n>>2]|0;m=f-c>>2;do if(m>>>0<=p>>>0){if(h>>>0>m>>>0){oj(n,h-m|0);c=k[n>>2]|0;break}if(h>>>0>>0?(ga=c+(h<<2)|0,(f|0)!=(ga|0)):0)k[j>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=g;f=k[N>>2]|0;g=k[qa>>2]|0;c=k[f>>2]|0;n=h}m=g+2|0;e=e+3|0;k[c+(m<<2)>>2]=n;if((n|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(e>>>0>h>>>0){oj(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(ha=c+(e<<2)|0,(f|0)!=(ha|0)):0)k[g>>2]=f+(~((f+-4-ha|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m}c=k[za>>2]|0;if((c|0)==(k[Q>>2]|0)){Dj(xa,qa);c=k[za>>2]|0}else{k[c>>2]=k[qa>>2];c=c+4|0;k[za>>2]=c}f=1;c=k[c+-4>>2]|0;break c}default:{e=-1;break a}}}while(0);k[$>>2]=c;k[qa>>2]=k[$>>2];fe(D,qa);g:do if(f?(ia=b-y|0,ja=ia+-1|0,ka=k[T>>2]|0,(ka|0)!=(k[S>>2]|0)):0){c=ka;do{f=k[c+-8>>2]|0;if((f|0)>=(ia|0)){e=-1;break a}if((f|0)!=(ja|0))break g;f=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[T>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[za>>2]|0)+-4>>2]|0;g=(c|0)<0;do if(!(f&1)){if(!g)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else{f=c+1|0;if(!g)c=((f|0)%3|0|0)==0?c+-2|0:f}while(0);k[qa>>2]=V-h;y=wf(ya,qa)|0;k[y>>2]=c;c=k[T>>2]|0}while((c|0)!=(k[S>>2]|0))}while(0);if((d|0)<(b|0))y=d;else{ma=210;break}}}else{e=0;d=0;ma=210}while(0);do if((ma|0)==210)if((e|0)<=(la|0)){f=k[za>>2]|0;if((f|0)==(k[xa>>2]|0))c=a+8|0;else{t=a+316|0;c=a+8|0;v=a+64|0;w=a+68|0;x=a+72|0;y=a+80|0;z=a+84|0;A=a+76|0;B=a+312|0;b=a+304|0;C=a+308|0;do{la=f;p=k[la+-4>>2]|0;k[qa>>2]=p;k[za>>2]=la+-4;do if(i[t>>0]|0){f=k[B>>2]|0;g=(k[b>>2]|0)+(f>>>3)|0;if(g>>>0<(k[C>>2]|0)>>>0?(la=l[g>>0]|0,k[B>>2]=f+1,la&1<<(f&7)|0):0){ma=217;break}f=k[w>>2]|0;g=k[x>>2]|0;if((f|0)==(g<<5|0)){if((f+1|0)<0){Jq(v);g=k[x>>2]|0}la=g<<6;f=f+32&-32;lj(v,g<<5>>>0<1073741823?(la>>>0>>0?f:la):2147483647);f=k[w>>2]|0}k[w>>2]=f+1;la=(k[v>>2]|0)+(f>>>5<<2)|0;k[la>>2]=k[la>>2]&~(1<<(f&31));f=k[y>>2]|0;if((f|0)==(k[z>>2]|0)){Dj(A,qa);break}else{k[f>>2]=k[qa>>2];k[y>>2]=f+4;break}}else ma=217;while(0);if((ma|0)==217){ma=0;j=(p|0)<0;h:do if(!j){f=p+(((p>>>0)%3|0|0)==0?2:-1)|0;if((f|0)>=0){g=k[(k[c>>2]|0)+12>>2]|0;h=f;while(1){f=k[g+(h<<2)>>2]|0;if((f|0)<=-1){g=0;f=h;break}f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0){g=1;break}else h=f}if(j){h=p;ma=224;break}}else g=1;h=p+1|0;h=((h|0)%3|0|0)==0?p+-2|0:h;if((h|0)<0)ma=224;else{n=k[c>>2]|0;m=k[n+12>>2]|0;while(1){j=k[m+(h<<2)>>2]|0;if((j|0)<=-1){r=0;j=m;m=n;break h}h=j+1|0;h=((h|0)%3|0|0)==0?j+-2|0:h;if((h|0)<0){r=1;j=m;m=n;break}}}}else{g=1;h=p;f=p;ma=224}while(0);if((ma|0)==224){ma=0;m=k[c>>2]|0;r=1;j=k[m+12>>2]|0}s=d+1|0;d=d*3|0;k[ra>>2]=d;k[j+(d<<2)>>2]=p;k[j+(p<<2)>>2]=d;d=(k[ra>>2]|0)+1|0;k[j+(d<<2)>>2]=f;k[j+(f<<2)>>2]=d;d=(k[ra>>2]|0)+2|0;k[j+(d<<2)>>2]=h;k[j+(h<<2)>>2]=d;d=k[ra>>2]|0;j=f+1|0;if(!g?(pa=((j|0)%3|0|0)==0?f+-2|0:j,(pa|0)>=0):0){la=k[m>>2]|0;q=k[la+(pa<<2)>>2]|0;k[la+(d<<2)>>2]=q;if((q|0)>-1){p=m+24|0;j=m+28|0;g=k[j>>2]|0;f=k[p>>2]|0;m=g-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(sa=f+(n<<2)|0,(g|0)!=(sa|0)):0)k[j>>2]=g+(~((g+-4-sa|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=d;d=k[ra>>2]|0;g=k[c>>2]|0}else g=m}else{k[(k[m>>2]|0)+(d<<2)>>2]=-1073741824;g=m}p=d+1|0;f=h+1|0;if(!r?(oa=((f|0)%3|0|0)==0?h+-2|0:f,(oa|0)>=0):0){la=k[g>>2]|0;n=k[la+(oa<<2)>>2]|0;k[la+(p<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ta=d+(j<<2)|0,(f|0)!=(ta|0)):0)k[g>>2]=f+(~((f+-4-ta|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[ra>>2]|0;h=k[c>>2]|0}else h=g}else{k[(k[g>>2]|0)+(p<<2)>>2]=-1073741824;h=g}p=d+2|0;f=k[qa>>2]|0;g=f+1|0;if((f|0)>=0?(na=((g|0)%3|0|0)==0?f+-2|0:g,(na|0)>=0):0){la=k[h>>2]|0;n=k[la+(na<<2)>>2]|0;k[la+(p<<2)>>2]=n;if((n|0)>-1){m=h+24|0;g=h+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ua=d+(j<<2)|0,(f|0)!=(ua|0)):0)k[g>>2]=f+(~((f+-4-ua|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[ra>>2]|0}}else k[(k[h>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d<<2)>>2]|0;f=k[va>>2]|0;la=f+(d>>>5<<2)|0;k[la>>2]=k[la>>2]&~(1<<(d&31));d=k[ra>>2]|0;if((d|0)<-1)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+1<<2)>>2]|0;la=f+(d>>>5<<2)|0;k[la>>2]=k[la>>2]&~(1<<(d&31));d=k[ra>>2]|0;if((d|0)<-2)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+2<<2)>>2]|0;f=f+(d>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(d&31));d=k[w>>2]|0;f=k[x>>2]|0;if((d|0)==(f<<5|0)){if((d+1|0)<0){Jq(v);f=k[x>>2]|0}la=f<<6;d=d+32&-32;lj(v,f<<5>>>0<1073741823?(la>>>0>>0?d:la):2147483647);d=k[w>>2]|0}k[w>>2]=d+1;la=(k[v>>2]|0)+(d>>>5<<2)|0;k[la>>2]=k[la>>2]|1<<(d&31);d=k[y>>2]|0;if((d|0)==(k[z>>2]|0))Dj(A,ra);else{k[d>>2]=k[ra>>2];k[y>>2]=d+4}d=s}f=k[za>>2]|0}while((f|0)!=(k[xa>>2]|0))}va=k[c>>2]|0;if((d|0)==(((k[va+4>>2]|0)-(k[va>>2]|0)>>2>>>0)/3|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){oj(h,e-f|0);break}if(e>>>0>>0?(wa=d+(e<<2)|0,(g|0)!=(wa|0)):0)k[c>>2]=g+(~((g+-4-wa|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[ya+8>>2]|0;if(c|0)do{wa=c;c=k[c>>2]|0;_r(wa)}while((c|0)!=0);c=k[ya>>2]|0;k[ya>>2]=0;if(c|0)_r(c);c=k[xa>>2]|0;if(!c){u=Aa;return e|0}d=k[za>>2]|0;if((d|0)!=(c|0))k[za>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c);u=Aa;return e|0}function bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=u;u=u+48|0;pa=za+40|0;wa=za+28|0;xa=za+8|0;_=za+4|0;qa=za;k[wa>>2]=0;ya=wa+4|0;k[ya>>2]=0;k[wa+8>>2]=0;k[xa>>2]=0;k[xa+4>>2]=0;k[xa+8>>2]=0;k[xa+12>>2]=0;o[xa+16>>2]=da(1.0);ua=a+136|0;ka=k[a+140>>2]|0;a:do if((b|0)>0){D=a+240|0;E=a+372|0;G=a+276|0;I=a+368|0;J=a+272|0;L=a+264|0;M=a+268|0;N=a+8|0;O=xa+4|0;P=a+340|0;R=wa+8|0;S=a+36|0;U=a+40|0;V=b+-1|0;X=a+352|0;e=0;y=0;while(1){d=y+1|0;if((k[E>>2]|0)!=-1?Nl(X)|0:0){c=k[E>>2]|0;k[I>>2]=c;if(!c)la=16;else la=59}else la=5;b:do if((la|0)==5){do if(!(i[G>>0]|0))c=1;else{f=k[J>>2]|0;h=k[L>>2]|0;j=k[M>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(la=l[c>>0]|0,$=f+1|0,k[J>>2]=$,la&1<<(f&7)|0):0){c=h+($>>>3)|0;if(c>>>0>>0){g=(l[c>>0]|0)>>>($&7)&1;f=f+2|0;k[J>>2]=f}else{g=0;f=$}c=h+(f>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(f&7);k[J>>2]=f+1;c=c<<1&2}else c=0;c=(c|g)<<1|1;break}k[I>>2]=0;la=16;break b}while(0);k[I>>2]=c;la=59}while(0);c:do if((la|0)==16){la=0;c=k[ya>>2]|0;if((k[wa>>2]|0)==(c|0)){e=-1;break a}v=k[c+-4>>2]|0;w=(v|0)<0;d:do if(!w){c=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)la=19;else{h=k[N>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(c<<2)>>2]|0;if((f|0)<=-1){r=0;q=c;f=h;break d}c=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){r=1;q=c;f=h;break}}}}else{c=v;la=19}while(0);if((la|0)==19){la=0;f=k[N>>2]|0;r=1;q=c;g=k[f+12>>2]|0}c=y*3|0;s=c+1|0;k[g+(v<<2)>>2]=s;k[g+(s<<2)>>2]=v;x=c+2|0;k[g+(q<<2)>>2]=x;k[g+(x<<2)>>2]=q;g=v+1|0;if(!w?(z=((g|0)%3|0|0)==0?v+-2|0:g,(z|0)>=0):0){t=k[f>>2]|0;p=k[t+(z<<2)>>2]|0;k[t+(c<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(C=f+(m<<2)|0,(g|0)!=(C|0)):0)k[h>>2]=g+(~((g+-4-C|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=c;t=p;f=k[N>>2]|0}else t=p}else{k[(k[f>>2]|0)+(c<<2)>>2]=-1073741824;t=-1073741824}g=q+1|0;if(!r?(B=((g|0)%3|0|0)==0?q+-2|0:g,(B|0)>=0):0){r=k[f>>2]|0;p=k[r+(B<<2)>>2]|0;k[r+(s<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(F=f+(m<<2)|0,(g|0)!=(F|0)):0)k[h>>2]=g+(~((g+-4-F|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(s<<2)>>2]=-1073741824;if(!w?(H=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(H|0)>=0):0){w=k[f>>2]|0;p=k[w+(H<<2)>>2]|0;k[w+(x<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(K=f+(m<<2)|0,(g|0)!=(K|0)):0)k[h>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);g=x;f=f+(p<<2)|0;la=56}}else{g=-1073741824;f=(k[f>>2]|0)+(x<<2)|0;la=56}if((la|0)==56){la=0;k[f>>2]=g}if((e|0)>(ka|0)){e=-1;break a}f=(k[ua>>2]|0)+(t>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(t&31));k[(k[ya>>2]|0)+-4>>2]=c;f=0}else if((la|0)==59){la=0;switch(c|0){case 3:case 5:{f=k[ya>>2]|0;if((k[wa>>2]|0)==(f|0)){e=-1;break a}s=k[f+-4>>2]|0;v=y*3|0;c=((c|0)==5?2:1)+v|0;f=k[N>>2]|0;t=k[f+12>>2]|0;k[t+(c<<2)>>2]=s;k[t+(s<<2)>>2]=c;t=e+1|0;k[(k[f>>2]|0)+(c<<2)>>2]=e;if((e|0)>-1){m=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[m>>2]|0;j=g-f>>2;do if(j>>>0<=e>>>0){if(t>>>0>j>>>0){oj(m,t-j|0);f=k[m>>2]|0;break}if(t>>>0>>0?(Q=f+(t<<2)|0,(g|0)!=(Q|0)):0)k[h>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);k[f+(e<<2)>>2]=c;f=k[N>>2]|0}q=(c|0)<0;e=c+1|0;if(q)p=c;else p=((e|0)%3|0|0)==0?c+-2|0:e;r=(s|0)<0;if(!r?(T=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(T|0)>=0):0){x=k[f>>2]|0;n=k[x+(T<<2)>>2]|0;k[x+(p<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(W=e+(j<<2)|0,(f|0)!=(W|0)):0)k[g>>2]=f+(~((f+-4-W|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=p;f=k[N>>2]|0}}else k[(k[f>>2]|0)+(p<<2)>>2]=-1073741824;do if(!q)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);e=s+1|0;if(!r?(A=((e|0)%3|0|0)==0?s+-2|0:e,(A|0)>=0):0){x=k[f>>2]|0;n=k[x+(A<<2)>>2]|0;k[x+(c<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Y=e+(j<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);e=e+(n<<2)|0;la=97}}else{e=(k[f>>2]|0)+(c<<2)|0;c=-1073741824;la=97}if((la|0)==97){la=0;k[e>>2]=c}k[(k[ya>>2]|0)+-4>>2]=v;f=1;e=t;c=v;break c}case 1:{p=k[wa>>2]|0;c=k[ya>>2]|0;if((p|0)==(c|0)){e=-1;break a}q=c+-4|0;g=k[q>>2]|0;k[ya>>2]=q;j=k[O>>2]|0;e:do if(j){m=j+-1|0;h=(m&j|0)==0;if(h)n=m&y;else n=(y>>>0)%(j>>>0)|0;f=k[(k[xa>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((k[f+4>>2]&m|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));else do{f=k[f>>2]|0;if(!f){f=p;c=q;break e}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){f=p;c=q;break e}}while((k[f+8>>2]|0)!=(y|0));f=f+12|0;if((q|0)==(k[R>>2]|0)){Dj(wa,f);f=k[wa>>2]|0;c=k[ya>>2]|0;break}else{k[q>>2]=k[f>>2];k[ya>>2]=c;f=p;break}}else{f=p;c=q}}else{f=p;c=q}while(0);if((f|0)==(c|0)){e=-1;break a}r=k[c+-4>>2]|0;c=y*3|0;v=c+2|0;f=k[N>>2]|0;x=k[f+12>>2]|0;k[x+(r<<2)>>2]=v;k[x+(v<<2)>>2]=r;t=c+1|0;k[x+(g<<2)>>2]=t;k[x+(t<<2)>>2]=g;if((r|0)>=0){h=(((r>>>0)%3|0|0)==0?2:-1)+r|0;j=k[f>>2]|0;if((h|0)>=0){q=k[j+(h<<2)>>2]|0;k[j+(c<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(Z=f+(n<<2)|0,(h|0)!=(Z|0)):0)k[j>>2]=h+(~((h+-4-Z|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=c;s=q;f=k[N>>2]|0;m=1}else{s=q;m=0}}else{k[j+(c<<2)>>2]=-1073741824;s=-1073741824;m=0}j=r+1|0;j=((j|0)%3|0|0)==0?r+-2|0:j;h=k[f>>2]|0;if((j|0)>=0){r=k[h+(j<<2)>>2]|0;k[h+(t<<2)>>2]=r;if((r|0)>-1){q=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(aa=f+(p<<2)|0,(h|0)!=(aa|0)):0)k[j>>2]=h+(~((h+-4-aa|0)>>>2)<<2)}while(0);k[f+(r<<2)>>2]=t;j=s;f=k[N>>2]|0;s=m}else{j=s;s=m}}else{j=s;la=129}}else{h=k[f>>2]|0;k[h+(c<<2)>>2]=-1073741824;m=0;j=-1073741824;la=129}if((la|0)==129){la=0;k[h+(t<<2)>>2]=-1073741824;s=m}if((g|0)>=0){h=(((g>>>0)%3|0|0)==0?2:-1)+g|0;m=k[f>>2]|0;if((h|0)>=0){r=k[m+(h<<2)>>2]|0;k[m+(v<<2)>>2]=r;if((r|0)>-1){q=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[q>>2]|0;n=h-f>>2;do if(n>>>0<=r>>>0){p=r+1|0;if(p>>>0>n>>>0){oj(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?(ba=f+(p<<2)|0,(h|0)!=(ba|0)):0)k[m>>2]=h+(~((h+-4-ba|0)>>>2)<<2)}while(0);h=v;f=f+(r<<2)|0;la=150}}else{h=-1073741824;f=m+(v<<2)|0;la=150}if((la|0)==150){la=0;k[f>>2]=h}f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)r=-1073741824;else r=k[(k[f>>2]|0)+(g<<2)>>2]|0}else{k[(k[f>>2]|0)+(v<<2)>>2]=-1073741824;r=-1073741824}w=k[P>>2]|0;x=w+(j<<2)|0;k[x>>2]=(k[x>>2]|0)+(k[w+(r<<2)>>2]|0);f:do if((g|0)>-1){q=j+1|0;if(!s){m=k[f>>2]|0;n=f+12|0;while(1){k[m+(g<<2)>>2]=j;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break f;g=k[(k[n>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(g<<2)>>2]=j;p=f+24|0;m=f+28|0;h=k[m>>2]|0;f=k[p>>2]|0;n=h-f>>2;do if(n>>>0<=j>>>0){if(q>>>0>n>>>0){oj(p,q-n|0);f=k[p>>2]|0;break}if(q>>>0>>0?(ca=f+(q<<2)|0,(h|0)!=(ca|0)):0)k[m>>2]=h+(~((h+-4-ca|0)>>>2)<<2)}while(0);k[f+(j<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[N>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(r<<2)>>2]=-1073741824;k[(k[ya>>2]|0)+-4>>2]=c;f=0;break c}case 7:{m=y*3|0;k[pa>>2]=m;f=k[N>>2]|0;p=e+1|0;c=k[f>>2]|0;k[c+(m<<2)>>2]=e;if((e|0)<=-1){g=m+1|0;h=e+2|0;k[c+(g<<2)>>2]=p;if((e|0)==-1){c=f;la=178}else{g=m;n=h}}else{j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(p>>>0>h>>>0){oj(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(ea=c+(p<<2)|0,(f|0)!=(ea|0)):0)k[g>>2]=f+(~((f+-4-ea|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;c=k[N>>2]|0;g=(k[pa>>2]|0)+1|0;k[(k[c>>2]|0)+(g<<2)>>2]=p;h=e+2|0;la=178}if((la|0)==178){la=0;n=c+24|0;j=c+28|0;f=k[j>>2]|0;c=k[n>>2]|0;m=f-c>>2;do if(m>>>0<=p>>>0){if(h>>>0>m>>>0){oj(n,h-m|0);c=k[n>>2]|0;break}if(h>>>0>>0?(fa=c+(h<<2)|0,(f|0)!=(fa|0)):0)k[j>>2]=f+(~((f+-4-fa|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=g;f=k[N>>2]|0;g=k[pa>>2]|0;c=k[f>>2]|0;n=h}m=g+2|0;e=e+3|0;k[c+(m<<2)>>2]=n;if((n|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(e>>>0>h>>>0){oj(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(ga=c+(e<<2)|0,(f|0)!=(ga|0)):0)k[g>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m}c=k[ya>>2]|0;if((c|0)==(k[R>>2]|0)){Dj(wa,pa);c=k[ya>>2]|0}else{k[c>>2]=k[pa>>2];c=c+4|0;k[ya>>2]=c}f=1;c=k[c+-4>>2]|0;break c}default:{e=-1;break a}}}while(0);k[_>>2]=c;k[pa>>2]=k[_>>2];be(D,pa);g:do if(f?(ha=b-y|0,ia=ha+-1|0,ja=k[U>>2]|0,(ja|0)!=(k[S>>2]|0)):0){c=ja;do{f=k[c+-8>>2]|0;if((f|0)>=(ha|0)){e=-1;break a}if((f|0)!=(ia|0))break g;f=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[U>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[ya>>2]|0)+-4>>2]|0;g=(c|0)<0;do if(!(f&1)){if(!g)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else{f=c+1|0;if(!g)c=((f|0)%3|0|0)==0?c+-2|0:f}while(0);k[pa>>2]=V-h;y=wf(xa,pa)|0;k[y>>2]=c;c=k[U>>2]|0}while((c|0)!=(k[S>>2]|0))}while(0);if((d|0)<(b|0))y=d;else{la=211;break}}}else{e=0;d=0;la=211}while(0);do if((la|0)==211)if((e|0)<=(ka|0)){f=k[ya>>2]|0;if((f|0)==(k[wa>>2]|0))c=a+8|0;else{t=a+316|0;c=a+8|0;v=a+64|0;w=a+68|0;x=a+72|0;y=a+80|0;z=a+84|0;A=a+76|0;B=a+312|0;b=a+304|0;C=a+308|0;do{ka=f;p=k[ka+-4>>2]|0;k[pa>>2]=p;k[ya>>2]=ka+-4;do if(i[t>>0]|0){f=k[B>>2]|0;g=(k[b>>2]|0)+(f>>>3)|0;if(g>>>0<(k[C>>2]|0)>>>0?(ka=l[g>>0]|0,k[B>>2]=f+1,ka&1<<(f&7)|0):0){la=218;break}f=k[w>>2]|0;g=k[x>>2]|0;if((f|0)==(g<<5|0)){if((f+1|0)<0){Jq(v);g=k[x>>2]|0}ka=g<<6;f=f+32&-32;lj(v,g<<5>>>0<1073741823?(ka>>>0>>0?f:ka):2147483647);f=k[w>>2]|0}k[w>>2]=f+1;ka=(k[v>>2]|0)+(f>>>5<<2)|0;k[ka>>2]=k[ka>>2]&~(1<<(f&31));f=k[y>>2]|0;if((f|0)==(k[z>>2]|0)){Dj(A,pa);break}else{k[f>>2]=k[pa>>2];k[y>>2]=f+4;break}}else la=218;while(0);if((la|0)==218){la=0;j=(p|0)<0;h:do if(!j){f=p+(((p>>>0)%3|0|0)==0?2:-1)|0;if((f|0)>=0){g=k[(k[c>>2]|0)+12>>2]|0;h=f;while(1){f=k[g+(h<<2)>>2]|0;if((f|0)<=-1){g=0;f=h;break}f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0){g=1;break}else h=f}if(j){h=p;la=225;break}}else g=1;h=p+1|0;h=((h|0)%3|0|0)==0?p+-2|0:h;if((h|0)<0)la=225;else{n=k[c>>2]|0;m=k[n+12>>2]|0;while(1){j=k[m+(h<<2)>>2]|0;if((j|0)<=-1){r=0;j=m;m=n;break h}h=j+1|0;h=((h|0)%3|0|0)==0?j+-2|0:h;if((h|0)<0){r=1;j=m;m=n;break}}}}else{g=1;h=p;f=p;la=225}while(0);if((la|0)==225){la=0;m=k[c>>2]|0;r=1;j=k[m+12>>2]|0}s=d+1|0;d=d*3|0;k[qa>>2]=d;k[j+(d<<2)>>2]=p;k[j+(p<<2)>>2]=d;d=(k[qa>>2]|0)+1|0;k[j+(d<<2)>>2]=f;k[j+(f<<2)>>2]=d;d=(k[qa>>2]|0)+2|0;k[j+(d<<2)>>2]=h;k[j+(h<<2)>>2]=d;d=k[qa>>2]|0;j=f+1|0;if(!g?(oa=((j|0)%3|0|0)==0?f+-2|0:j,(oa|0)>=0):0){ka=k[m>>2]|0;q=k[ka+(oa<<2)>>2]|0;k[ka+(d<<2)>>2]=q;if((q|0)>-1){p=m+24|0;j=m+28|0;g=k[j>>2]|0;f=k[p>>2]|0;m=g-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ra=f+(n<<2)|0,(g|0)!=(ra|0)):0)k[j>>2]=g+(~((g+-4-ra|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=d;d=k[qa>>2]|0;g=k[c>>2]|0}else g=m}else{k[(k[m>>2]|0)+(d<<2)>>2]=-1073741824;g=m}p=d+1|0;f=h+1|0;if(!r?(na=((f|0)%3|0|0)==0?h+-2|0:f,(na|0)>=0):0){ka=k[g>>2]|0;n=k[ka+(na<<2)>>2]|0;k[ka+(p<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(sa=d+(j<<2)|0,(f|0)!=(sa|0)):0)k[g>>2]=f+(~((f+-4-sa|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[qa>>2]|0;h=k[c>>2]|0}else h=g}else{k[(k[g>>2]|0)+(p<<2)>>2]=-1073741824;h=g}p=d+2|0;f=k[pa>>2]|0;g=f+1|0;if((f|0)>=0?(ma=((g|0)%3|0|0)==0?f+-2|0:g,(ma|0)>=0):0){ka=k[h>>2]|0;n=k[ka+(ma<<2)>>2]|0;k[ka+(p<<2)>>2]=n;if((n|0)>-1){m=h+24|0;g=h+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){oj(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ta=d+(j<<2)|0,(f|0)!=(ta|0)):0)k[g>>2]=f+(~((f+-4-ta|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[qa>>2]|0}}else k[(k[h>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d<<2)>>2]|0;f=k[ua>>2]|0;ka=f+(d>>>5<<2)|0;k[ka>>2]=k[ka>>2]&~(1<<(d&31));d=k[qa>>2]|0;if((d|0)<-1)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+1<<2)>>2]|0;ka=f+(d>>>5<<2)|0;k[ka>>2]=k[ka>>2]&~(1<<(d&31));d=k[qa>>2]|0;if((d|0)<-2)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+2<<2)>>2]|0;f=f+(d>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(d&31));d=k[w>>2]|0;f=k[x>>2]|0;if((d|0)==(f<<5|0)){if((d+1|0)<0){Jq(v);f=k[x>>2]|0}ka=f<<6;d=d+32&-32;lj(v,f<<5>>>0<1073741823?(ka>>>0>>0?d:ka):2147483647);d=k[w>>2]|0}k[w>>2]=d+1;ka=(k[v>>2]|0)+(d>>>5<<2)|0;k[ka>>2]=k[ka>>2]|1<<(d&31);d=k[y>>2]|0;if((d|0)==(k[z>>2]|0))Dj(A,qa);else{k[d>>2]=k[qa>>2];k[y>>2]=d+4}d=s}f=k[ya>>2]|0}while((f|0)!=(k[wa>>2]|0))}ua=k[c>>2]|0;if((d|0)==(((k[ua+4>>2]|0)-(k[ua>>2]|0)>>2>>>0)/3|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){oj(h,e-f|0);break}if(e>>>0>>0?(va=d+(e<<2)|0,(g|0)!=(va|0)):0)k[c>>2]=g+(~((g+-4-va|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[xa+8>>2]|0;if(c|0)do{va=c;c=k[c>>2]|0;_r(va)}while((c|0)!=0);c=k[xa>>2]|0;k[xa>>2]=0;if(c|0)_r(c);c=k[wa>>2]|0;if(!c){u=za;return e|0}d=k[ya>>2]|0;if((d|0)!=(c|0))k[ya>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c);u=za;return e|0}function cb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=u;u=u+48|0;la=oa+28|0;ma=oa+8|0;ea=oa+4|0;fa=oa;k[la>>2]=0;na=la+4|0;k[na>>2]=0;k[la+8>>2]=0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;k[ma+12>>2]=0;o[ma+16>>2]=da(1.0);ja=a+136|0;_=k[a+140>>2]|0;a:do if((b|0)>0){D=a+276|0;F=ma+4|0;H=a+8|0;I=la+8|0;K=a+272|0;L=a+264|0;M=a+268|0;N=a+36|0;O=a+40|0;Q=b+-1|0;c=0;x=0;b:while(1){d=x+1|0;c:do if(!(i[D>>0]|0))$=93;else{f=k[K>>2]|0;h=k[L>>2]|0;j=k[M>>2]|0;e=h+(f>>>3)|0;if(e>>>0>>0?(w=l[e>>0]|0,S=f+1|0,k[K>>2]=S,w&1<<(f&7)|0):0){e=h+(S>>>3)|0;if(e>>>0>>0){g=(l[e>>0]|0)>>>(S&7)&1;f=f+2|0;k[K>>2]=f}else{g=0;f=S}e=h+(f>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(f&7);k[K>>2]=f+1;e=e<<1&2}else e=0;f=(e|g)<<1|1;switch(f&7){case 1:{$=93;break c}case 3:case 5:{e=k[na>>2]|0;if((k[la>>2]|0)==(e|0)){C=-1;break a}t=k[e+-4>>2]|0;w=x*3|0;s=((f|0)==5?2:1)+w|0;e=k[H>>2]|0;v=k[e+12>>2]|0;k[v+(s<<2)>>2]=t;k[v+(t<<2)>>2]=s;v=c+1|0;k[(k[e>>2]|0)+(s<<2)>>2]=c;if((c|0)>-1){j=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=c>>>0){if(v>>>0>h>>>0){oj(j,v-h|0);e=k[j>>2]|0;break}if(v>>>0>>0?(P=e+(v<<2)|0,(f|0)!=(P|0)):0)k[g>>2]=f+(~((f+-4-P|0)>>>2)<<2)}while(0);k[e+(c<<2)>>2]=s;e=k[H>>2]|0}q=(s|0)<0;c=s+1|0;if(q)p=s;else p=((c|0)%3|0|0)==0?s+-2|0:c;r=(t|0)<0;if(!r?(R=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(R|0)>=0):0){m=k[e>>2]|0;n=k[m+(R<<2)>>2]|0;k[m+(p<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;c=k[j>>2]|0;f=e-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){oj(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=c+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=p;e=k[H>>2]|0}}else k[(k[e>>2]|0)+(p<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){c=s+2|0;break}else{c=s+-1|0;break}else c=s;while(0);f=t+1|0;if(!r?(z=((f|0)%3|0|0)==0?t+-2|0:f,(z|0)>=0):0){t=k[e>>2]|0;p=k[t+(z<<2)>>2]|0;k[t+(c<<2)>>2]=p;if((p|0)>-1){m=e+24|0;n=e+28|0;f=k[n>>2]|0;e=k[m>>2]|0;g=f-e>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){oj(m,h-g|0);e=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=e+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);e=e+(p<<2)|0;$=91}}else{e=(k[e>>2]|0)+(c<<2)|0;c=-1073741824;$=91}if(($|0)==91){$=0;k[e>>2]=c}k[(k[na>>2]|0)+-4>>2]=w;c=v;break}case 7:{m=x*3|0;k[ea>>2]=m;f=k[H>>2]|0;p=c+1|0;e=k[f>>2]|0;k[e+(m<<2)>>2]=c;if((c|0)<=-1){g=m+1|0;h=c+2|0;k[e+(g<<2)>>2]=p;if((c|0)==-1){e=f;$=170}else{g=m;n=h}}else{j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=c>>>0){if(p>>>0>h>>>0){oj(j,p-h|0);e=k[j>>2]|0;break}if(p>>>0>>0?(X=e+(p<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[e+(c<<2)>>2]=m;e=k[H>>2]|0;g=(k[ea>>2]|0)+1|0;k[(k[e>>2]|0)+(g<<2)>>2]=p;h=c+2|0;$=170}if(($|0)==170){$=0;n=e+24|0;j=e+28|0;f=k[j>>2]|0;e=k[n>>2]|0;m=f-e>>2;do if(m>>>0<=p>>>0){if(h>>>0>m>>>0){oj(n,h-m|0);e=k[n>>2]|0;break}if(h>>>0>>0?(Y=e+(h<<2)|0,(f|0)!=(Y|0)):0)k[j>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[e+(p<<2)>>2]=g;f=k[H>>2]|0;g=k[ea>>2]|0;e=k[f>>2]|0;n=h}m=g+2|0;c=c+3|0;k[e+(m<<2)>>2]=n;if((n|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){if(c>>>0>h>>>0){oj(j,c-h|0);e=k[j>>2]|0;break}if(c>>>0>>0?(Z=e+(c<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=m}e=k[na>>2]|0;if((e|0)==(k[I>>2]|0))Dj(la,ea);else{k[e>>2]=k[ea>>2];k[na>>2]=e+4}break}default:break b}j=b-x|0;m=j+-1|0;e=k[O>>2]|0;if((e|0)==(k[N>>2]|0))break;while(1){f=k[e+-8>>2]|0;if((f|0)>=(j|0)){C=-1;break a}if((f|0)!=(m|0))break c;f=i[e+-4>>0]|0;h=k[e+-12>>2]|0;k[O>>2]=e+-12;if((h|0)<0){C=-1;break a}e=k[(k[na>>2]|0)+-4>>2]|0;g=(e|0)<0;do if(!(f&1)){if(!g)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{f=e+1|0;if(!g)e=((f|0)%3|0|0)==0?e+-2|0:f}while(0);k[ea>>2]=Q-h;x=wf(ma,ea)|0;k[x>>2]=e;e=k[O>>2]|0;if((e|0)==(k[N>>2]|0))break c}}e=k[na>>2]|0;if((k[la>>2]|0)==(e|0)){C=-1;break a}v=k[e+-4>>2]|0;w=(v|0)<0;d:do if(!w){e=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)$=13;else{h=k[H>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(e<<2)>>2]|0;if((f|0)<=-1){r=0;q=e;f=h;break d}e=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){r=1;q=e;f=h;break}}}}else{e=v;$=13}while(0);if(($|0)==13){$=0;f=k[H>>2]|0;r=1;q=e;g=k[f+12>>2]|0}e=x*3|0;s=e+1|0;k[g+(v<<2)>>2]=s;k[g+(s<<2)>>2]=v;x=e+2|0;k[g+(q<<2)>>2]=x;k[g+(x<<2)>>2]=q;g=v+1|0;if(!w?(y=((g|0)%3|0|0)==0?v+-2|0:g,(y|0)>=0):0){t=k[f>>2]|0;p=k[t+(y<<2)>>2]|0;k[t+(e<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(B=f+(m<<2)|0,(g|0)!=(B|0)):0)k[h>>2]=g+(~((g+-4-B|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=e;t=p;f=k[H>>2]|0}else t=p}else{k[(k[f>>2]|0)+(e<<2)>>2]=-1073741824;t=-1073741824}g=q+1|0;if(!r?(A=((g|0)%3|0|0)==0?q+-2|0:g,(A|0)>=0):0){r=k[f>>2]|0;p=k[r+(A<<2)>>2]|0;k[r+(s<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(E=f+(m<<2)|0,(g|0)!=(E|0)):0)k[h>>2]=g+(~((g+-4-E|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[H>>2]|0}}else k[(k[f>>2]|0)+(s<<2)>>2]=-1073741824;if(!w?(G=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(G|0)>=0):0){w=k[f>>2]|0;p=k[w+(G<<2)>>2]|0;k[w+(x<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(J=f+(m<<2)|0,(g|0)!=(J|0)):0)k[h>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);g=x;f=f+(p<<2)|0;$=50}}else{g=-1073741824;f=(k[f>>2]|0)+(x<<2)|0;$=50}if(($|0)==50){$=0;k[f>>2]=g}if((c|0)>(_|0)){C=-1;break a}$=(k[ja>>2]|0)+(t>>>5<<2)|0;k[$>>2]=k[$>>2]&~(1<<(t&31));$=189}while(0);if(($|0)==93){$=0;n=k[la>>2]|0;e=k[na>>2]|0;if((n|0)==(e|0)){C=-1;break a}p=e+-4|0;v=k[p>>2]|0;k[na>>2]=p;h=k[F>>2]|0;e:do if(h){j=h+-1|0;g=(j&h|0)==0;if(g)m=j&x;else m=(x>>>0)%(h>>>0)|0;f=k[(k[ma>>2]|0)+(m<<2)>>2]|0;if(f){if(g)do{f=k[f>>2]|0;if(!f){f=n;e=p;break e}if((k[f+4>>2]&j|0)!=(m|0)){f=n;e=p;break e}}while((k[f+8>>2]|0)!=(x|0));else do{f=k[f>>2]|0;if(!f){f=n;e=p;break e}if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){f=n;e=p;break e}}while((k[f+8>>2]|0)!=(x|0));f=f+12|0;if((p|0)==(k[I>>2]|0)){Dj(la,f);f=k[la>>2]|0;e=k[na>>2]|0;break}else{k[p>>2]=k[f>>2];k[na>>2]=e;f=n;break}}else{f=n;e=p}}else{f=n;e=p}while(0);if((f|0)==(e|0)){C=-1;break a}q=k[e+-4>>2]|0;e=x*3|0;t=e+2|0;g=k[H>>2]|0;x=k[g+12>>2]|0;k[x+(q<<2)>>2]=t;k[x+(t<<2)>>2]=q;s=e+1|0;k[x+(v<<2)>>2]=s;k[x+(s<<2)>>2]=v;if((q|0)>=0){f=(((q>>>0)%3|0|0)==0?2:-1)+q|0;h=k[g>>2]|0;if((f|0)>=0){p=k[h+(f<<2)>>2]|0;k[h+(e<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(T=f+(m<<2)|0,(g|0)!=(T|0)):0)k[h>>2]=g+(~((g+-4-T|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=e;r=p;g=k[H>>2]|0;j=1}else{r=p;j=0}}else{k[h+(e<<2)>>2]=-1073741824;r=-1073741824;j=0}h=q+1|0;h=((h|0)%3|0|0)==0?q+-2|0:h;f=k[g>>2]|0;if((h|0)>=0){q=k[f+(h<<2)>>2]|0;k[f+(s<<2)>>2]=q;if((q|0)>-1){p=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[p>>2]|0;m=g-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){oj(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(U=f+(n<<2)|0,(g|0)!=(U|0)):0)k[h>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=s;g=k[H>>2]|0;s=j}else s=j}else{h=r;$=123}}else{f=k[g>>2]|0;k[f+(e<<2)>>2]=-1073741824;j=0;h=-1073741824;$=123}if(($|0)==123){$=0;k[f+(s<<2)>>2]=-1073741824;r=h;s=j}f:do if((v|0)>=0){f=(((v>>>0)%3|0|0)==0?2:-1)+v|0;h=k[g>>2]|0;if((f|0)>=0){p=k[h+(f<<2)>>2]|0;k[h+(t<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(V=f+(m<<2)|0,(g|0)!=(V|0)):0)k[h>>2]=g+(~((g+-4-V|0)>>>2)<<2)}while(0);g=t;f=f+(p<<2)|0;$=144}}else{g=-1073741824;f=h+(t<<2)|0;$=144}if(($|0)==144)k[f>>2]=g;h=v+1|0;h=((h|0)%3|0|0)==0?v+-2|0:h;g=k[H>>2]|0;if((h|0)<0)f=-1073741824;else{f=k[(k[g>>2]|0)+(h<<2)>>2]|0;q=r+1|0;if(!s){m=k[g>>2]|0;n=g+12|0;while(1){k[m+(h<<2)>>2]=r;$=h+1|0;h=(($|0)%3|0|0)==0?h+-2|0:$;if((h|0)<0)break f;h=k[(k[n>>2]|0)+(h<<2)>>2]|0;j=h+1|0;if((h|0)<0)break f;h=((j|0)%3|0|0)==0?h+-2|0:j;if((h|0)<=-1)break f}}do{k[(k[g>>2]|0)+(h<<2)>>2]=r;p=g+24|0;m=g+28|0;j=k[m>>2]|0;g=k[p>>2]|0;n=j-g>>2;do if(n>>>0<=r>>>0){if(q>>>0>n>>>0){oj(p,q-n|0);g=k[p>>2]|0;break}if(q>>>0>>0?(W=g+(q<<2)|0,(j|0)!=(W|0)):0)k[m>>2]=j+(~((j+-4-W|0)>>>2)<<2)}while(0);k[g+(r<<2)>>2]=h;g=h+1|0;h=((g|0)%3|0|0)==0?h+-2|0:g;g=k[H>>2]|0;if((h|0)<0)break f;h=k[(k[g+12>>2]|0)+(h<<2)>>2]|0;j=h+1|0;if((h|0)<0)break f;h=((j|0)%3|0|0)==0?h+-2|0:j}while((h|0)>-1)}}else{k[(k[g>>2]|0)+(t<<2)>>2]=-1073741824;f=-1073741824}while(0);k[(k[g+24>>2]|0)+(f<<2)>>2]=-1073741824;$=189}if(($|0)==189){$=0;k[(k[na>>2]|0)+-4>>2]=e}if((d|0)<(b|0))x=d;else{C=c;$=203;break a}}}else{C=0;d=0;$=203}while(0);do if(($|0)==203)if((C|0)<=(_|0)){e=k[na>>2]|0;if((e|0)==(k[la>>2]|0))c=a+8|0;else{s=a+316|0;c=a+8|0;t=a+64|0;v=a+68|0;w=a+72|0;x=a+80|0;y=a+84|0;z=a+76|0;A=a+312|0;b=a+304|0;B=a+308|0;do{_=e;n=k[_+-4>>2]|0;k[ea>>2]=n;k[na>>2]=_+-4;do if(i[s>>0]|0){e=k[A>>2]|0;f=(k[b>>2]|0)+(e>>>3)|0;if(f>>>0<(k[B>>2]|0)>>>0?(_=l[f>>0]|0,k[A>>2]=e+1,_&1<<(e&7)|0):0){$=210;break}e=k[v>>2]|0;f=k[w>>2]|0;if((e|0)==(f<<5|0)){if((e+1|0)<0){Jq(t);f=k[w>>2]|0}_=f<<6;e=e+32&-32;lj(t,f<<5>>>0<1073741823?(_>>>0>>0?e:_):2147483647);e=k[v>>2]|0}k[v>>2]=e+1;_=(k[t>>2]|0)+(e>>>5<<2)|0;k[_>>2]=k[_>>2]&~(1<<(e&31));e=k[x>>2]|0;if((e|0)==(k[y>>2]|0)){Dj(z,ea);break}else{k[e>>2]=k[ea>>2];k[x>>2]=e+4;break}}else $=210;while(0);if(($|0)==210){$=0;h=(n|0)<0;g:do if(!h){e=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((e|0)>=0){f=k[(k[c>>2]|0)+12>>2]|0;g=e;while(1){e=k[f+(g<<2)>>2]|0;if((e|0)<=-1){f=0;e=g;break}e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){f=1;break}else g=e}if(h){g=n;$=217;break}}else f=1;g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)$=217;else{m=k[c>>2]|0;j=k[m+12>>2]|0;while(1){h=k[j+(g<<2)>>2]|0;if((h|0)<=-1){q=0;h=j;j=m;break g}g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0){q=1;h=j;j=m;break}}}}else{f=1;g=n;e=n;$=217}while(0);if(($|0)==217){$=0;j=k[c>>2]|0;q=1;h=k[j+12>>2]|0}r=d+1|0;d=d*3|0;k[fa>>2]=d;k[h+(d<<2)>>2]=n;k[h+(n<<2)>>2]=d;d=(k[fa>>2]|0)+1|0;k[h+(d<<2)>>2]=e;k[h+(e<<2)>>2]=d;d=(k[fa>>2]|0)+2|0;k[h+(d<<2)>>2]=g;k[h+(g<<2)>>2]=d;d=k[fa>>2]|0;h=e+1|0;if(!f?(ca=((h|0)%3|0|0)==0?e+-2|0:h,(ca|0)>=0):0){_=k[j>>2]|0;p=k[_+(ca<<2)>>2]|0;k[_+(d<<2)>>2]=p;if((p|0)>-1){n=j+24|0;h=j+28|0;f=k[h>>2]|0;e=k[n>>2]|0;j=f-e>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){oj(n,m-j|0);e=k[n>>2]|0;break}if(m>>>0>>0?(ga=e+(m<<2)|0,(f|0)!=(ga|0)):0)k[h>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[e+(p<<2)>>2]=d;d=k[fa>>2]|0;f=k[c>>2]|0}else f=j}else{k[(k[j>>2]|0)+(d<<2)>>2]=-1073741824;f=j}n=d+1|0;e=g+1|0;if(!q?(ba=((e|0)%3|0|0)==0?g+-2|0:e,(ba|0)>=0):0){_=k[f>>2]|0;m=k[_+(ba<<2)>>2]|0;k[_+(n<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){oj(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(ha=d+(h<<2)|0,(e|0)!=(ha|0)):0)k[f>>2]=e+(~((e+-4-ha|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=n;d=k[fa>>2]|0;g=k[c>>2]|0}else g=f}else{k[(k[f>>2]|0)+(n<<2)>>2]=-1073741824;g=f}n=d+2|0;e=k[ea>>2]|0;f=e+1|0;if((e|0)>=0?(aa=((f|0)%3|0|0)==0?e+-2|0:f,(aa|0)>=0):0){_=k[g>>2]|0;m=k[_+(aa<<2)>>2]|0;k[_+(n<<2)>>2]=m;if((m|0)>-1){j=g+24|0;f=g+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){oj(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(ia=d+(h<<2)|0,(e|0)!=(ia|0)):0)k[f>>2]=e+(~((e+-4-ia|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=n;d=k[fa>>2]|0}}else k[(k[g>>2]|0)+(n<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d<<2)>>2]|0;e=k[ja>>2]|0;_=e+(d>>>5<<2)|0;k[_>>2]=k[_>>2]&~(1<<(d&31));d=k[fa>>2]|0;if((d|0)<-1)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+1<<2)>>2]|0;_=e+(d>>>5<<2)|0;k[_>>2]=k[_>>2]&~(1<<(d&31));d=k[fa>>2]|0;if((d|0)<-2)d=-1073741824;else d=k[(k[k[c>>2]>>2]|0)+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(d&31));d=k[v>>2]|0;e=k[w>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){Jq(t);e=k[w>>2]|0}_=e<<6;d=d+32&-32;lj(t,e<<5>>>0<1073741823?(_>>>0>>0?d:_):2147483647);d=k[v>>2]|0}k[v>>2]=d+1;_=(k[t>>2]|0)+(d>>>5<<2)|0;k[_>>2]=k[_>>2]|1<<(d&31);d=k[x>>2]|0;if((d|0)==(k[y>>2]|0))Dj(z,fa);else{k[d>>2]=k[fa>>2];k[x>>2]=d+4}d=r}e=k[na>>2]|0}while((e|0)!=(k[la>>2]|0))}ja=k[c>>2]|0;if((d|0)==(((k[ja+4>>2]|0)-(k[ja>>2]|0)>>2>>>0)/3|0|0)){g=a+88|0;c=a+92|0;f=k[c>>2]|0;d=k[g>>2]|0;e=f-d>>2;if(C>>>0>e>>>0){oj(g,C-e|0);break}if(C>>>0>>0?(ka=d+(C<<2)|0,(f|0)!=(ka|0)):0)k[c>>2]=f+(~((f+-4-ka|0)>>>2)<<2)}else C=-1}else C=-1;while(0);c=k[ma+8>>2]|0;if(c|0)do{ka=c;c=k[c>>2]|0;_r(ka)}while((c|0)!=0);c=k[ma>>2]|0;k[ma>>2]=0;if(c|0)_r(c);c=k[la>>2]|0;if(!c){u=oa;return C|0}d=k[na>>2]|0;if((d|0)!=(c|0))k[na>>2]=d+(~((d+-4-c|0)>>>2)<<2);_r(c);u=oa;return C|0}function db(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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+16|0;n=K;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;s=k[5968]|0;c=s>>>a;if(c&3|0){a=(c&1^1)+a|0;c=23912+(a<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[5972]|0)>>>0)Aa();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Aa()}else k[5968]=s&~(1<>2]=J|3;J=e+J+4|0;k[J>>2]=k[J>>2]|1;J=f;u=K;return J|0}r=k[5970]|0;if(o>>>0>r>>>0){if(c|0){h=2<>>12&16;a=a>>>h;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|h|f|c|b)+(a>>>b)|0;a=23912+(b<<1<<2)|0;c=a+8|0;f=k[c>>2]|0;h=f+8|0;d=k[h>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(k[5972]|0)>>>0)Aa();e=d+12|0;if((k[e>>2]|0)==(f|0)){k[e>>2]=a;k[c>>2]=d;i=s;break}else Aa()}else{i=s&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(r|0){e=k[5973]|0;b=r>>>3;c=23912+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{j=a;l=b}}else{k[5968]=i|b;j=c;l=c+8|0}k[l>>2]=e;k[j+12>>2]=e;k[e+8>>2]=j;k[e+12>>2]=c}k[5970]=g;k[5973]=d;J=h;u=K;return J|0}j=k[5969]|0;if(j){a=(j&0-j)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=k[24176+((H|I|J|c|b)+(a>>>b)<<2)>>2]|0;a=(k[b+4>>2]&-8)-o|0;c=k[b+16+(((k[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!c){i=b;g=a}else{do{I=(k[c+4>>2]&-8)-o|0;J=I>>>0>>0;a=J?I:a;b=J?c:b;c=k[c+16+(((k[c+16>>2]|0)==0&1)<<2)>>2]|0}while((c|0)!=0);i=b;g=a}e=k[5972]|0;if(i>>>0>>0)Aa();h=i+o|0;if(i>>>0>=h>>>0)Aa();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Aa();else{k[a>>2]=0;m=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Aa();b=d+12|0;if((k[b>>2]|0)!=(i|0))Aa();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;m=c;break}else Aa()}while(0);a:do if(f|0){b=k[i+28>>2]|0;a=24176+(b<<2)|0;do if((i|0)==(k[a>>2]|0)){k[a>>2]=m;if(!m){k[5969]=j&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=m;if(!m)break a;else break}else Aa();while(0);a=k[5972]|0;if(m>>>0>>0)Aa();k[m+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);b=k[i+20>>2]|0;if(b|0)if(b>>>0<(k[5972]|0)>>>0)Aa();else{k[m+20>>2]=b;k[b+24>>2]=m;break}}while(0);if(g>>>0<16){J=g+o|0;k[i+4>>2]=J|3;J=i+J+4|0;k[J>>2]=k[J>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=g|1;k[h+g>>2]=g;if(r|0){d=k[5973]|0;b=r>>>3;c=23912+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{p=a;q=b}}else{k[5968]=s|b;p=c;q=c+8|0}k[q>>2]=d;k[p+12>>2]=d;k[d+8>>2]=p;k[d+12>>2]=c}k[5970]=g;k[5973]=h}J=i+8|0;u=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;j=k[5969]|0;if(j){d=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;h=14-(p|q|h)+(C<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;c=k[24176+(h<<2)>>2]|0;b:do if(!c){c=0;a=0;C=81}else{a=0;g=o<<((h|0)==31?0:25-(h>>>1)|0);f=0;while(1){e=(k[c+4>>2]&-8)-o|0;if(e>>>0>>0)if(!e){a=c;d=0;e=c;C=85;break b}else{a=c;d=e}e=k[c+20>>2]|0;c=k[c+16+(g>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(c|0)?f:e;e=(c|0)==0;if(e){c=f;C=81;break}else g=g<<((e^1)&1)}}while(0);if((C|0)==81){if((c|0)==0&(a|0)==0){a=2<>>12&16;q=q>>>l;i=q>>>5&8;q=q>>>i;m=q>>>2&4;q=q>>>m;p=q>>>1&2;q=q>>>p;c=q>>>1&1;a=0;c=k[24176+((i|l|m|p|c)+(q>>>c)<<2)>>2]|0}if(!c){i=a;h=d}else{e=c;C=85}}if((C|0)==85)while(1){C=0;c=(k[e+4>>2]&-8)-o|0;q=c>>>0>>0;c=q?c:d;a=q?e:a;e=k[e+16+(((k[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=a;h=c;break}else{d=c;C=85}}if((i|0)!=0?h>>>0<((k[5970]|0)-o|0)>>>0:0){e=k[5972]|0;if(i>>>0>>0)Aa();g=i+o|0;if(i>>>0>=g>>>0)Aa();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){r=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Aa();else{k[a>>2]=0;r=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Aa();b=d+12|0;if((k[b>>2]|0)!=(i|0))Aa();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;r=c;break}else Aa()}while(0);c:do if(f){b=k[i+28>>2]|0;a=24176+(b<<2)|0;do if((i|0)==(k[a>>2]|0)){k[a>>2]=r;if(!r){s=j&~(1<>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=r;if(!r){s=j;break c}else break}else Aa();while(0);a=k[5972]|0;if(r>>>0>>0)Aa();k[r+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)Aa();else{k[r+16>>2]=b;k[b+24>>2]=r;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[5972]|0)>>>0)Aa();else{k[r+20>>2]=b;k[b+24>>2]=r;s=j;break}else s=j}else s=j;while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;b=h>>>3;if(h>>>0<256){c=23912+(b<<1<<2)|0;a=k[5968]|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{x=a;y=b}}else{k[5968]=a|b;x=c;y=c+8|0}k[y>>2]=g;k[x+12>>2]=g;k[g+8>>2]=x;k[g+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;c=24176+(b<<2)|0;k[g+28>>2]=b;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=k[c>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(h|0)){C=139;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=136;break}else{a=a<<1;d=b}}if((C|0)==136)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((C|0)==139){b=d+8|0;a=k[b>>2]|0;J=k[5972]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=d;k[g+24>>2]=0;break}else Aa()}}else{J=h+o|0;k[i+4>>2]=J|3;J=i+J+4|0;k[J>>2]=k[J>>2]|1}while(0);J=i+8|0;u=K;return J|0}}}else o=-1;while(0);c=k[5970]|0;if(c>>>0>=o>>>0){b=c-o|0;a=k[5973]|0;if(b>>>0>15){J=a+o|0;k[5973]=J;k[5970]=b;k[J+4>>2]=b|1;k[J+b>>2]=b;k[a+4>>2]=o|3}else{k[5970]=0;k[5973]=0;k[a+4>>2]=c|3;J=a+c+4|0;k[J>>2]=k[J>>2]|1}J=a+8|0;u=K;return J|0}g=k[5971]|0;if(g>>>0>o>>>0){H=g-o|0;k[5971]=H;J=k[5974]|0;I=J+o|0;k[5974]=I;k[I+4>>2]=H|1;k[J+4>>2]=o|3;J=J+8|0;u=K;return J|0}if(!(k[6086]|0)){k[6088]=4096;k[6087]=4096;k[6089]=-1;k[6090]=-1;k[6091]=0;k[6079]=0;a=n&-16^1431655768;k[n>>2]=a;k[6086]=a;a=4096}else a=k[6088]|0;h=o+48|0;i=o+47|0;f=a+i|0;e=0-a|0;j=f&e;if(j>>>0<=o>>>0){J=0;u=K;return J|0}a=k[6078]|0;if(a|0?(x=k[6076]|0,y=x+j|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;u=K;return J|0}d:do if(!(k[6079]&4)){c=k[5974]|0;e:do if(c){d=24320;while(1){a=k[d>>2]|0;if(a>>>0<=c>>>0?(w=d+4|0,(a+(k[w>>2]|0)|0)>>>0>c>>>0):0)break;a=k[d+8>>2]|0;if(!a){C=163;break e}else d=a}b=f-g&e;if(b>>>0<2147483647){a=Dm(b|0)|0;if((a|0)==((k[d>>2]|0)+(k[w>>2]|0)|0)){if((a|0)!=(-1|0)){g=b;f=a;C=180;break d}}else{d=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){c=Dm(0)|0;if((c|0)!=(-1|0)?(b=c,t=k[6087]|0,v=t+-1|0,b=((v&b|0)==0?0:(v+b&0-t)-b|0)+j|0,t=k[6076]|0,v=b+t|0,b>>>0>o>>>0&b>>>0<2147483647):0){y=k[6078]|0;if(y|0?v>>>0<=t>>>0|v>>>0>y>>>0:0){b=0;break}a=Dm(b|0)|0;if((a|0)==(c|0)){g=b;f=c;C=180;break d}else{d=a;C=171}}else b=0}while(0);do if((C|0)==171){c=0-b|0;if(!(h>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{g=b;f=d;C=180;break d}a=k[6088]|0;a=i-b+a&0-a;if(a>>>0>=2147483647){g=b;f=d;C=180;break d}if((Dm(a|0)|0)==(-1|0)){Dm(c|0)|0;b=0;break}else{g=a+b|0;f=d;C=180;break d}}while(0);k[6079]=k[6079]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?j>>>0<2147483647:0)?(B=Dm(j|0)|0,y=Dm(0)|0,z=y-B|0,A=z>>>0>(o+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){g=A?z:b;f=B;C=180}if((C|0)==180){b=(k[6076]|0)+g|0;k[6076]=b;if(b>>>0>(k[6077]|0)>>>0)k[6077]=b;j=k[5974]|0;do if(j){b=24320;while(1){a=k[b>>2]|0;c=b+4|0;d=k[c>>2]|0;if((f|0)==(a+d|0)){C=190;break}e=k[b+8>>2]|0;if(!e)break;else b=e}if(((C|0)==190?(k[b+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){k[c>>2]=d+g;J=j+8|0;J=(J&7|0)==0?0:0-J&7;I=j+J|0;J=(k[5971]|0)+(g-J)|0;k[5974]=I;k[5971]=J;k[I+4>>2]=J|1;k[I+J+4>>2]=40;k[5975]=k[6090];break}b=k[5972]|0;if(f>>>0>>0){k[5972]=f;h=f}else h=b;c=f+g|0;b=24320;while(1){if((k[b>>2]|0)==(c|0)){C=198;break}a=k[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(k[b+12>>2]&8|0)==0:0){k[b>>2]=f;m=b+4|0;k[m>>2]=(k[m>>2]|0)+g;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;l=m+o|0;i=b-m-o|0;k[m+4>>2]=o|3;do if((b|0)!=(j|0)){if((b|0)==(k[5973]|0)){J=(k[5970]|0)+i|0;k[5970]=J;k[5973]=l;k[l+4>>2]=J|1;k[l+J>>2]=J;break}a=k[b+4>>2]|0;if((a&3|0)==1){g=a&-8;e=a>>>3;f:do if(a>>>0>=256){f=k[b+24>>2]|0;d=k[b+12>>2]|0;do if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=k[c>>2]|0;if(!a){a=k[d>>2]|0;if(!a){H=0;break}else c=d}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0>>0)Aa();else{k[c>>2]=0;H=a;break}}else{e=k[b+8>>2]|0;if(e>>>0>>0)Aa();a=e+12|0;if((k[a>>2]|0)!=(b|0))Aa();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;H=d;break}else Aa()}while(0);if(!f)break;a=k[b+28>>2]|0;c=24176+(a<<2)|0;do if((b|0)!=(k[c>>2]|0))if(f>>>0>=(k[5972]|0)>>>0){k[f+16+(((k[f+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else Aa();else{k[c>>2]=H;if(H|0)break;k[5969]=k[5969]&~(1<>>0>>0)Aa();k[H+24>>2]=f;a=b+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)Aa();else{k[H+16>>2]=c;k[c+24>>2]=H;break}while(0);a=k[a+4>>2]|0;if(!a)break;if(a>>>0<(k[5972]|0)>>>0)Aa();else{k[H+20>>2]=a;k[a+24>>2]=H;break}}else{c=k[b+8>>2]|0;d=k[b+12>>2]|0;a=23912+(e<<1<<2)|0;do if((c|0)!=(a|0)){if(c>>>0>>0)Aa();if((k[c+12>>2]|0)==(b|0))break;Aa()}while(0);if((d|0)==(c|0)){k[5968]=k[5968]&~(1<>>0>>0)Aa();a=d+8|0;if((k[a>>2]|0)==(b|0)){E=a;break}Aa()}while(0);k[c+12>>2]=d;k[E>>2]=c}while(0);b=b+g|0;e=g+i|0}else e=i;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[l+4>>2]=e|1;k[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23912+(b<<1<<2)|0;a=k[5968]|0;b=1<>2]|0;if(a>>>0>=(k[5972]|0)>>>0){I=a;J=b;break}Aa()}while(0);k[J>>2]=l;k[I+12>>2]=l;k[l+8>>2]=I;k[l+12>>2]=c;break}b=e>>>8;do if(!b)b=0;else{if(e>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=e>>>(b+7|0)&1|b<<1}while(0);d=24176+(b<<2)|0;k[l+28>>2]=b;a=l+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[5969]|0;c=1<>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){C=265;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=262;break}else{a=a<<1;d=b}}if((C|0)==262)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}else if((C|0)==265){b=d+8|0;a=k[b>>2]|0;J=k[5972]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=l;k[b>>2]=l;k[l+8>>2]=a;k[l+12>>2]=d;k[l+24>>2]=0;break}else Aa()}}else{J=(k[5971]|0)+i|0;k[5971]=J;k[5974]=l;k[l+4>>2]=J|1}while(0);J=m+8|0;u=K;return J|0}b=24320;while(1){a=k[b>>2]|0;if(a>>>0<=j>>>0?(D=a+(k[b+4>>2]|0)|0,D>>>0>j>>>0):0)break;b=k[b+8>>2]|0}e=D+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;J=f+c|0;c=g+-40-c|0;k[5974]=J;k[5971]=c;k[J+4>>2]=c|1;k[J+c+4>>2]=40;k[5975]=k[6090];c=a+4|0;k[c>>2]=27;k[b>>2]=k[6080];k[b+4>>2]=k[6081];k[b+8>>2]=k[6082];k[b+12>>2]=k[6083];k[6080]=f;k[6081]=g;k[6083]=0;k[6082]=b;b=a+24|0;do{J=b;b=b+4|0;k[b>>2]=7}while((J+8|0)>>>0>>0);if((a|0)!=(j|0)){f=a-j|0;k[c>>2]=k[c>>2]&-2;k[j+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){c=23912+(b<<1<<2)|0;a=k[5968]|0;b=1<>2]|0;if(a>>>0<(k[5972]|0)>>>0)Aa();else{F=a;G=b}}else{k[5968]=a|b;F=c;G=c+8|0}k[G>>2]=j;k[F+12>>2]=j;k[j+8>>2]=F;k[j+12>>2]=c;break}b=f>>>8;if(b)if(f>>>0>16777215)c=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;c=14-(H|I|c)+(J<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=24176+(c<<2)|0;k[j+28>>2]=c;k[j+20>>2]=0;k[e>>2]=0;b=k[5969]|0;a=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(f|0)){C=292;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){C=289;break}else{a=a<<1;d=b}}if((C|0)==289)if(c>>>0<(k[5972]|0)>>>0)Aa();else{k[c>>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((C|0)==292){b=d+8|0;a=k[b>>2]|0;J=k[5972]|0;if(a>>>0>=J>>>0&d>>>0>=J>>>0){k[a+12>>2]=j;k[b>>2]=j;k[j+8>>2]=a;k[j+12>>2]=d;k[j+24>>2]=0;break}else Aa()}}}else{J=k[5972]|0;if((J|0)==0|f>>>0>>0)k[5972]=f;k[6080]=f;k[6081]=g;k[6083]=0;k[5977]=k[6086];k[5976]=-1;b=0;do{J=23912+(b<<1<<2)|0;k[J+12>>2]=J;k[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=f+8|0;J=(J&7|0)==0?0:0-J&7;I=f+J|0;J=g+-40-J|0;k[5974]=I;k[5971]=J;k[I+4>>2]=J|1;k[I+J+4>>2]=40;k[5975]=k[6090]}while(0);b=k[5971]|0;if(b>>>0>o>>>0){H=b-o|0;k[5971]=H;J=k[5974]|0;I=J+o|0;k[5974]=I;k[I+4>>2]=H|1;k[J+4>>2]=o|3;J=J+8|0;u=K;return J|0}}J=Lr()|0;k[J>>2]=12;J=0;u=K;return J|0}function eb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+128|0;A=E+112|0;h=E+108|0;n=E+104|0;p=E+100|0;t=E+96|0;q=E+92|0;s=E+88|0;D=E+40|0;C=E;v=E+84|0;B=E+80|0;m=a+148|0;k[m>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;_r(z)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}r=a+4|0;g=k[r>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;do if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0){D=0;u=E;return D|0}else{z=(k[g>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;k[h>>2]=z;k[c>>2]=e;k[c+4>>2]=f;c=z;break}}else if(sk(h,g)|0){g=k[r>>2]|0;c=k[h>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;break}else{D=0;u=E;return D|0}while(0);k[m>>2]=c;if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0)b=0;else{w=(k[g>>2]|0)+d|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;k[n>>2]=w;k[c>>2]=e;k[c+4>>2]=f;c=w;f=g;w=18}}else if(sk(n,g)|0){f=k[r>>2]|0;c=k[n>>2]|0;b=i[f+36>>0]|0;f=k[f+32>>2]|0;w=18}else b=0;if((w|0)==18){m=a+172|0;k[m>>2]=c;if(((b&255)<<8&65535)<512){y=f+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((y|0)<(e|0)|(y|0)==(e|0)&z>>>0>>0)b=0;else{w=(k[f>>2]|0)+c|0;k[p>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=b;k[w>>2]=d;k[w+4>>2]=e;w=22}}else if(sk(p,f)|0)w=22;else b=0;do if((w|0)==22){b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=jo(60)|0;Np(b);z=a+8|0;c=k[z>>2]|0;k[z>>2]=b;if(c){mk(c);_r(c);b=k[z>>2]|0;if(!b){b=0;break}}if(nm(b,k[p>>2]|0)|0){b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[r>>2]|0)+32>>2]|0;y=b+8|0;x=k[y+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(k[y>>2]|0)>>>0>d>>>0:0)?(o=i[(k[b>>2]|0)+d>>0]|0,x=Fp(d|0,e|0,1,0)|0,y=c,k[y>>2]=x,k[y+4>>2]=M,o<<24>>24>=0):0){x=a+228|0;f=k[x>>2]|0;y=a+232|0;b=k[y>>2]|0;if((b|0)!=(f|0))do{k[y>>2]=b+-116;c=k[b+-12>>2]|0;if(c|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[y>>2]|0}while((b|0)!=(f|0));h=o<<24>>24;Ui(x,h);o=k[r>>2]|0;b=k[o+32>>2]|0;if(((l[o+36>>0]|0)<<8&65535)<512){n=b+8|0;o=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((n|0)<(f|0)|(n|0)==(f|0)&o>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[t>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=58}}else if(sk(t,b)|0){b=k[t>>2]|0;w=58}else b=0;if((w|0)==58)if((k[p>>2]|0)>>>0>>0)b=0;else{p=k[r>>2]|0;b=k[p+32>>2]|0;do if(((l[p+36>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((o|0)<(f|0)|(o|0)==(f|0)&p>>>0>>0){b=0;break}b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[q>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=64}else{if(!(sk(q,b)|0)){b=0;break}b=k[q>>2]|0;w=64}while(0);if((w|0)==64){g=a+136|0;q=b+(k[m>>2]|0)|0;i[A>>0]=1;Qh(g,q,A);q=k[r>>2]|0;b=k[q+32>>2]|0;do if(((l[q+36>>0]|0)<<8&65535)>=512)if(sk(s,b)|0)w=68;else b=0;else{p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0){b=0;break}w=(k[b>>2]|0)+d|0;k[s>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=c;k[w>>2]=e;k[w+4>>2]=f;w=68}while(0);if((w|0)==68){Bn(D);b=k[(k[r>>2]|0)+32>>2]|0;q=b+16|0;p=k[q>>2]|0;w=k[s>>2]|0;s=(k[b>>2]|0)+p+w|0;o=b+8|0;q=Wo(k[o>>2]|0,k[o+4>>2]|0,p|0,k[q+4>>2]|0)|0;w=Wo(q|0,M|0,w|0,0)|0;Yn(D,s,w,j[b+38>>1]|0);b=Wb(a,D)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=k[q>>2]|0;q=(k[q>>2]|0)+(k[q+16>>2]|0)|0;s=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=k[s>>2]|0;o=s+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;s=s+16|0;p=k[s>>2]|0;s=k[s+4>>2]|0;w=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;s=Wo(n|0,o|0,p|0,s|0)|0;Yn(c,q,s,j[(k[w+32>>2]|0)+38>>1]|0);w=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;k[a+332>>2]=w;k[a+336>>2]=k[m>>2];k[a+324>>2]=h;Bn(C);a:do if(ki(c,C)|0){if((bb(a,k[t>>2]|0)|0)==-1){b=0;break}w=k[(k[r>>2]|0)+32>>2]|0;t=C+16|0;q=k[t>>2]|0;s=(k[C>>2]|0)+q|0;p=C+8|0;t=Wo(k[p>>2]|0,k[p+4>>2]|0,q|0,k[t+4>>2]|0)|0;Yn(w,s,t,j[w+38>>1]|0);w=(k[(k[r>>2]|0)+32>>2]|0)+16|0;t=w;t=Fp(k[t>>2]|0,k[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[w>>2]=t;k[w+4>>2]=M;do if((k[y>>2]|0)!=(k[x>>2]|0)){w=k[z>>2]|0;if(((k[w+4>>2]|0)-(k[w>>2]|0)|0)<=0)break;b=0;do{k[v>>2]=b;k[A>>2]=k[v>>2];b=b+3|0;if(!(Wf(a,A)|0)){b=0;break a}w=k[z>>2]|0}while((b|0)<((k[w+4>>2]|0)-(k[w>>2]|0)>>2|0))}while(0);bn(c);bn(a+280|0);e=k[z>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;r=f;if((s-f|0)>0){n=k[g>>2]|0;o=s-f>>2;p=e+12|0;m=0;do{do if(k[n+(m>>>5<<2)>>2]&1<<(m&31)|0){q=r+(m<<2)|0;h=k[q>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[p>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[q>>2]=b}while(0);m=m+1|0}while((m|0)<(o|0))}d=k[y>>2]|0;w=k[x>>2]|0;b=w;if((d|0)==(w|0)){e=s;c=d}else{f=0;do{Hj(b+(f*116|0)+4|0,e)|0;b=k[x>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[B>>2]=k[c>>2];k[A>>2]=k[B>>2];rh(b+(f*116|0)+4|0,A);c=c+4|0;b=k[x>>2]|0}while((c|0)!=(d|0));Bm(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[y>>2]|0;c=k[x>>2]|0;b=c;e=k[z>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;m=a+216|0;n=k[m>>2]|0;h=k[f>>2]|0;g=n-h>>2;do if(e>>>0>g>>>0){oj(f,e-g|0);b=k[x>>2]|0;d=k[y>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((n|0)==(e|0))break;k[m>>2]=n+(~((n+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){n=0;while(1){f=(k[b+(n*116|0)+60>>2]|0)-(k[b+(n*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(n*116|0)+88|0;h=b+(n*116|0)+92|0;m=k[h>>2]|0;e=k[g>>2]|0;b=m-e>>2;do if(f>>>0>b>>>0){oj(g,f-b|0);c=k[x>>2]|0;d=k[y>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((m|0)==(b|0))break;k[h>>2]=m+(~((m+-4-b|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=zb(a)|0}else b=0;while(0);ds(C+24|0)}ds(D+24|0)}}}}else b=0}else b=0}while(0)}D=b;u=E;return D|0}function fb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+128|0;A=E+112|0;h=E+108|0;n=E+104|0;p=E+100|0;t=E+96|0;q=E+92|0;s=E+88|0;D=E+40|0;C=E;v=E+84|0;B=E+80|0;m=a+148|0;k[m>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;_r(z)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}r=a+4|0;g=k[r>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;do if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0){D=0;u=E;return D|0}else{z=(k[g>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;k[h>>2]=z;k[c>>2]=e;k[c+4>>2]=f;c=z;break}}else if(sk(h,g)|0){g=k[r>>2]|0;c=k[h>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;break}else{D=0;u=E;return D|0}while(0);k[m>>2]=c;if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0)b=0;else{w=(k[g>>2]|0)+d|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;k[n>>2]=w;k[c>>2]=e;k[c+4>>2]=f;c=w;f=g;w=18}}else if(sk(n,g)|0){f=k[r>>2]|0;c=k[n>>2]|0;b=i[f+36>>0]|0;f=k[f+32>>2]|0;w=18}else b=0;if((w|0)==18){m=a+172|0;k[m>>2]=c;if(((b&255)<<8&65535)<512){y=f+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((y|0)<(e|0)|(y|0)==(e|0)&z>>>0>>0)b=0;else{w=(k[f>>2]|0)+c|0;k[p>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=b;k[w>>2]=d;k[w+4>>2]=e;w=22}}else if(sk(p,f)|0)w=22;else b=0;do if((w|0)==22){b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=jo(60)|0;Np(b);z=a+8|0;c=k[z>>2]|0;k[z>>2]=b;if(c){mk(c);_r(c);b=k[z>>2]|0;if(!b){b=0;break}}if(nm(b,k[p>>2]|0)|0){b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[r>>2]|0)+32>>2]|0;y=b+8|0;x=k[y+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(k[y>>2]|0)>>>0>d>>>0:0)?(o=i[(k[b>>2]|0)+d>>0]|0,x=Fp(d|0,e|0,1,0)|0,y=c,k[y>>2]=x,k[y+4>>2]=M,o<<24>>24>=0):0){x=a+228|0;f=k[x>>2]|0;y=a+232|0;b=k[y>>2]|0;if((b|0)!=(f|0))do{k[y>>2]=b+-116;c=k[b+-12>>2]|0;if(c|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[y>>2]|0}while((b|0)!=(f|0));h=o<<24>>24;Ui(x,h);o=k[r>>2]|0;b=k[o+32>>2]|0;if(((l[o+36>>0]|0)<<8&65535)<512){n=b+8|0;o=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((n|0)<(f|0)|(n|0)==(f|0)&o>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[t>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=58}}else if(sk(t,b)|0){b=k[t>>2]|0;w=58}else b=0;if((w|0)==58)if((k[p>>2]|0)>>>0>>0)b=0;else{p=k[r>>2]|0;b=k[p+32>>2]|0;do if(((l[p+36>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((o|0)<(f|0)|(o|0)==(f|0)&p>>>0>>0){b=0;break}b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[q>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=64}else{if(!(sk(q,b)|0)){b=0;break}b=k[q>>2]|0;w=64}while(0);if((w|0)==64){g=a+136|0;q=b+(k[m>>2]|0)|0;i[A>>0]=1;Qh(g,q,A);q=k[r>>2]|0;b=k[q+32>>2]|0;do if(((l[q+36>>0]|0)<<8&65535)>=512)if(sk(s,b)|0)w=68;else b=0;else{p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0){b=0;break}w=(k[b>>2]|0)+d|0;k[s>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=c;k[w>>2]=e;k[w+4>>2]=f;w=68}while(0);if((w|0)==68){Bn(D);b=k[(k[r>>2]|0)+32>>2]|0;q=b+16|0;p=k[q>>2]|0;w=k[s>>2]|0;s=(k[b>>2]|0)+p+w|0;o=b+8|0;q=Wo(k[o>>2]|0,k[o+4>>2]|0,p|0,k[q+4>>2]|0)|0;w=Wo(q|0,M|0,w|0,0)|0;Yn(D,s,w,j[b+38>>1]|0);b=Wb(a,D)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=k[q>>2]|0;q=(k[q>>2]|0)+(k[q+16>>2]|0)|0;s=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=k[s>>2]|0;o=s+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;s=s+16|0;p=k[s>>2]|0;s=k[s+4>>2]|0;w=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;s=Wo(n|0,o|0,p|0,s|0)|0;Yn(c,q,s,j[(k[w+32>>2]|0)+38>>1]|0);w=Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0;k[a+332>>2]=w;k[a+336>>2]=k[m>>2];k[a+324>>2]=h;Bn(C);a:do if(Uc(c,C)|0){if((ab(a,k[t>>2]|0)|0)==-1){b=0;break}w=k[(k[r>>2]|0)+32>>2]|0;t=C+16|0;q=k[t>>2]|0;s=(k[C>>2]|0)+q|0;p=C+8|0;t=Wo(k[p>>2]|0,k[p+4>>2]|0,q|0,k[t+4>>2]|0)|0;Yn(w,s,t,j[w+38>>1]|0);w=(k[(k[r>>2]|0)+32>>2]|0)+16|0;t=w;t=Fp(k[t>>2]|0,k[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[w>>2]=t;k[w+4>>2]=M;do if((k[y>>2]|0)!=(k[x>>2]|0)){w=k[z>>2]|0;if(((k[w+4>>2]|0)-(k[w>>2]|0)|0)<=0)break;b=0;do{k[v>>2]=b;k[A>>2]=k[v>>2];b=b+3|0;if(!(Wf(a,A)|0)){b=0;break a}w=k[z>>2]|0}while((b|0)<((k[w+4>>2]|0)-(k[w>>2]|0)>>2|0))}while(0);bn(c);bn(a+280|0);e=k[z>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;r=f;if((s-f|0)>0){n=k[g>>2]|0;o=s-f>>2;p=e+12|0;m=0;do{do if(k[n+(m>>>5<<2)>>2]&1<<(m&31)|0){q=r+(m<<2)|0;h=k[q>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[p>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[q>>2]=b}while(0);m=m+1|0}while((m|0)<(o|0))}d=k[y>>2]|0;w=k[x>>2]|0;b=w;if((d|0)==(w|0)){e=s;c=d}else{f=0;do{Hj(b+(f*116|0)+4|0,e)|0;b=k[x>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[B>>2]=k[c>>2];k[A>>2]=k[B>>2];rh(b+(f*116|0)+4|0,A);c=c+4|0;b=k[x>>2]|0}while((c|0)!=(d|0));Bm(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[y>>2]|0;c=k[x>>2]|0;b=c;e=k[z>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;m=a+216|0;n=k[m>>2]|0;h=k[f>>2]|0;g=n-h>>2;do if(e>>>0>g>>>0){oj(f,e-g|0);b=k[x>>2]|0;d=k[y>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((n|0)==(e|0))break;k[m>>2]=n+(~((n+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){n=0;while(1){f=(k[b+(n*116|0)+60>>2]|0)-(k[b+(n*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(n*116|0)+88|0;h=b+(n*116|0)+92|0;m=k[h>>2]|0;e=k[g>>2]|0;b=m-e>>2;do if(f>>>0>b>>>0){oj(g,f-b|0);c=k[x>>2]|0;d=k[y>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((m|0)==(b|0))break;k[h>>2]=m+(~((m+-4-b|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=zb(a)|0}else b=0;while(0);ds(C+24|0)}ds(D+24|0)}}}}else b=0}else b=0}while(0)}D=b;u=E;return D|0}function gb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=u;u=u+128|0;A=E+112|0;h=E+108|0;n=E+104|0;p=E+100|0;t=E+96|0;q=E+92|0;s=E+88|0;D=E+40|0;C=E;v=E+84|0;B=E+80|0;m=a+148|0;k[m>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;_r(z)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}r=a+4|0;g=k[r>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;do if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0){D=0;u=E;return D|0}else{z=(k[g>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;k[h>>2]=z;k[c>>2]=e;k[c+4>>2]=f;c=z;break}}else if(sk(h,g)|0){g=k[r>>2]|0;c=k[h>>2]|0;b=i[g+36>>0]|0;g=k[g+32>>2]|0;break}else{D=0;u=E;return D|0}while(0);k[m>>2]=c;if(((b&255)<<8&65535)<512){y=g+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;c=g+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((y|0)<(f|0)|(y|0)==(f|0)&z>>>0>>0)b=0;else{w=(k[g>>2]|0)+d|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;k[n>>2]=w;k[c>>2]=e;k[c+4>>2]=f;c=w;f=g;w=18}}else if(sk(n,g)|0){f=k[r>>2]|0;c=k[n>>2]|0;b=i[f+36>>0]|0;f=k[f+32>>2]|0;w=18}else b=0;if((w|0)==18){m=a+172|0;k[m>>2]=c;if(((b&255)<<8&65535)<512){y=f+8|0;z=k[y>>2]|0;y=k[y+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Fp(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((y|0)<(e|0)|(y|0)==(e|0)&z>>>0>>0)b=0;else{w=(k[f>>2]|0)+c|0;k[p>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=b;k[w>>2]=d;k[w+4>>2]=e;w=22}}else if(sk(p,f)|0)w=22;else b=0;do if((w|0)==22){b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=jo(60)|0;Np(b);z=a+8|0;c=k[z>>2]|0;k[z>>2]=b;if(c){mk(c);_r(c);b=k[z>>2]|0;if(!b){b=0;break}}if(nm(b,k[p>>2]|0)|0){b=a+176|0;c=k[b>>2]|0;d=a+180|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nk(b,k[p>>2]|0);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[r>>2]|0)+32>>2]|0;y=b+8|0;x=k[y+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(k[y>>2]|0)>>>0>d>>>0:0)?(o=i[(k[b>>2]|0)+d>>0]|0,x=Fp(d|0,e|0,1,0)|0,y=c,k[y>>2]=x,k[y+4>>2]=M,o<<24>>24>=0):0){x=a+228|0;f=k[x>>2]|0;y=a+232|0;b=k[y>>2]|0;if((b|0)!=(f|0))do{k[y>>2]=b+-116;c=k[b+-12>>2]|0;if(c|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-28>>2]|0;if(c|0){d=b+-24|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}c=k[b+-40>>2]|0;if(c|0){d=b+-36|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);_r(c)}vk(b+-112|0);b=k[y>>2]|0}while((b|0)!=(f|0));h=o<<24>>24;Ui(x,h);o=k[r>>2]|0;b=k[o+32>>2]|0;if(((l[o+36>>0]|0)<<8&65535)<512){n=b+8|0;o=k[n>>2]|0;n=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((n|0)<(f|0)|(n|0)==(f|0)&o>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[t>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=58}}else if(sk(t,b)|0){b=k[t>>2]|0;w=58}else b=0;if((w|0)==58)if((k[p>>2]|0)>>>0>>0)b=0;else{p=k[r>>2]|0;b=k[p+32>>2]|0;do if(((l[p+36>>0]|0)<<8&65535)<512){o=b+8|0;p=k[o>>2]|0;o=k[o+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((o|0)<(f|0)|(o|0)==(f|0)&p>>>0>>0){b=0;break}b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[q>>2]=b;w=c;k[w>>2]=e;k[w+4>>2]=f;w=64}else{if(!(sk(q,b)|0)){b=0;break}b=k[q>>2]|0;w=64}while(0);if((w|0)==64){g=a+136|0;q=b+(k[m>>2]|0)|0;i[A>>0]=1;Qh(g,q,A);q=k[r>>2]|0;b=k[q+32>>2]|0;do if(((l[q+36>>0]|0)<<8&65535)>=512)if(sk(s,b)|0)w=68;else b=0;else{p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Fp(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0){b=0;break}w=(k[b>>2]|0)+d|0;k[s>>2]=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;w=c;k[w>>2]=e;k[w+4>>2]=f;w=68}while(0);if((w|0)==68){Bn(D);b=k[(k[r>>2]|0)+32>>2]|0;q=b+16|0;p=k[q>>2]|0;w=k[s>>2]|0;s=(k[b>>2]|0)+p+w|0;o=b+8|0;q=Wo(k[o>>2]|0,k[o+4>>2]|0,p|0,k[q+4>>2]|0)|0;w=Wo(q|0,M|0,w|0,0)|0;Yn(D,s,w,j[b+38>>1]|0);b=Wb(a,D)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=k[q>>2]|0;q=(k[q>>2]|0)+(k[q+16>>2]|0)|0;s=(Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=k[s>>2]|0;o=s+8|0;n=k[o>>2]|0;o=k[o+4>>2]|0;s=s+16|0;p=k[s>>2]|0;s=k[s+4>>2]|0;w=Wa[k[(k[a>>2]|0)+32>>2]&255](a)|0;s=Wo(n|0,o|0,p|0,s|0)|0;Yn(c,q,s,j[(k[w+32>>2]|0)+38>>1]|0);k[a+324>>2]=h;Bn(C);a:do if(xe(c,C)|0){if((cb(a,k[t>>2]|0)|0)==-1){b=0;break}w=k[(k[r>>2]|0)+32>>2]|0;t=C+16|0;q=k[t>>2]|0;s=(k[C>>2]|0)+q|0;p=C+8|0;t=Wo(k[p>>2]|0,k[p+4>>2]|0,q|0,k[t+4>>2]|0)|0;Yn(w,s,t,j[w+38>>1]|0);w=(k[(k[r>>2]|0)+32>>2]|0)+16|0;t=w;t=Fp(k[t>>2]|0,k[t+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[w>>2]=t;k[w+4>>2]=M;do if((k[y>>2]|0)!=(k[x>>2]|0)){w=k[z>>2]|0;if(((k[w+4>>2]|0)-(k[w>>2]|0)|0)<=0)break;b=0;do{k[v>>2]=b;k[A>>2]=k[v>>2];b=b+3|0;if(!(Wf(a,A)|0)){b=0;break a}w=k[z>>2]|0}while((b|0)<((k[w+4>>2]|0)-(k[w>>2]|0)>>2|0))}while(0);bn(c);bn(a+280|0);e=k[z>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;r=f;if((s-f|0)>0){n=k[g>>2]|0;o=s-f>>2;p=e+12|0;m=0;do{do if(k[n+(m>>>5<<2)>>2]&1<<(m&31)|0){q=r+(m<<2)|0;h=k[q>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[p>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[q>>2]=b}while(0);m=m+1|0}while((m|0)<(o|0))}d=k[y>>2]|0;w=k[x>>2]|0;b=w;if((d|0)==(w|0)){e=s;c=d}else{f=0;do{Hj(b+(f*116|0)+4|0,e)|0;b=k[x>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[B>>2]=k[c>>2];k[A>>2]=k[B>>2];rh(b+(f*116|0)+4|0,A);c=c+4|0;b=k[x>>2]|0}while((c|0)!=(d|0));Bm(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[y>>2]|0;c=k[x>>2]|0;b=c;e=k[z>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;m=a+216|0;n=k[m>>2]|0;h=k[f>>2]|0;g=n-h>>2;do if(e>>>0>g>>>0){oj(f,e-g|0);b=k[x>>2]|0;d=k[y>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((n|0)==(e|0))break;k[m>>2]=n+(~((n+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){n=0;while(1){f=(k[b+(n*116|0)+60>>2]|0)-(k[b+(n*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(n*116|0)+88|0;h=b+(n*116|0)+92|0;m=k[h>>2]|0;e=k[g>>2]|0;b=m-e>>2;do if(f>>>0>b>>>0){oj(g,f-b|0);c=k[x>>2]|0;d=k[y>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((m|0)==(b|0))break;k[h>>2]=m+(~((m+-4-b|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=zb(a)|0}else b=0;while(0);ds(C+24|0)}ds(D+24|0)}}}}else b=0}else b=0}while(0)}D=b;u=E;return D|0}function hb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=u;u=u+16|0;b=j;h=j+8|0;c=j+4|0;k[h>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;e=g*210|0;k[c>>2]=a-e;a=0;f=(Fm(5676,5868,c,b)|0)-5676>>2;b=e;a:while(1){e=(k[5676+(f<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){d=211;i=8;break}c=k[5484+(b<<2)>>2]|0;d=(e>>>0)/(c>>>0)|0;if(d>>>0>>0){i=106;break a}if((e|0)==($(d,c)|0))break;else b=b+1|0}b:do if((i|0)==8){c:while(1){i=0;b=(e>>>0)/(d>>>0)|0;do if(b>>>0>=d>>>0)if((e|0)!=($(b,d)|0)){b=d+10|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+12|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+16|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+18|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+22|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+28|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)==($(c,b)|0))c=9;else{b=d+30|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+36|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+40|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+42|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+46|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+52|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+58|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+60|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+66|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+70|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+72|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+78|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+82|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+88|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+96|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+100|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+102|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+106|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+108|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+112|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+120|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+126|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+130|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+136|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+138|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+142|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+148|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+150|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+156|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+162|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+166|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+168|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+172|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+178|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+180|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+186|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+190|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+192|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+196|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+198|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+208|0;c=(e>>>0)/(b>>>0)|0;l=c>>>0>>0;c=(e|0)==($(c,b)|0);b=l|c?b:d+210|0;c=l?1:c?9:0;a=l?e:a}else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else{b=d;c=9}else{b=d;c=1;a=e}while(0);switch(c&15){case 9:break b;case 0:{d=b;i=8;break}default:break c}}if(c){i=107;break a}}while(0);l=f+1|0;e=(l|0)==48;b=(e&1)+g|0;g=b;f=e?0:l;b=b*210|0}if((i|0)==106){k[h>>2]=e;a=e;break}else if((i|0)==107){k[h>>2]=e;break}}else{a=Fm(5484,5676,h,b)|0;a=k[a>>2]|0}while(0);u=j;return a|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;g=M;F=a+8|0;G=k[F>>2]|0;k[g>>2]=0;Ik(L,G,g);G=a+116|0;h=k[G>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[L>>2];k[f>>2]=k[L+4>>2];k[d>>2]=k[L+8>>2];E=k[F>>2]|0;k[g>>2]=0;Ik(L,E,g);E=a+128|0;g=k[E>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[L>>2];k[f>>2]=k[L+4>>2];k[d>>2]=k[L+8>>2];k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;H=L+20|0;uc(L);d=k[J>>2]|0;e=(k[H>>2]|0)+(k[I>>2]|0)|0;if((k[K>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[H>>2]|0)+1|0;k[H>>2]=d;a:do if(d|0){v=a+104|0;w=a+92|0;t=c+4|0;x=a+96|0;y=a+48|0;z=a+44|0;A=a+28|0;B=a+24|0;C=a+88|0;D=a+84|0;b:while(1){q=k[I>>2]|0;e=d+-1|0;l=q+e|0;r=k[J>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[H>>2]=e;e=k[K>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[K>>2]=(k[K>>2]|0)+-4}e=k[G>>2]|0;r=e+(l*12|0)|0;q=(k[E>>2]|0)+(l*12|0)|0;n=to(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[F>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[F>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[F>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[F>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[G>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(f>>>0>=33){o=56;break b}if(!f){o=58;break b}g=k[A>>2]|0;d=32-g|0;h=k[B>>2]|0;e=k[h>>2]<>>(32-f|0);r=g+f|0;k[A>>2]=r;if((r|0)==32){k[B>>2]=h+4;k[A>>2]=0}}else{r=f-d|0;k[A>>2]=r;q=h+4|0;k[B>>2]=q;r=32-r|0;d=(k[q>>2]|0)>>>r|e>>>(r-d|0)}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[C>>2]|0;d=k[D>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[C>>2]=s;if((s|0)==32){k[D>>2]=d+4;k[C>>2]=0}b=f?g:e;j=f?e:g}d=k[E>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(L);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[H>>2]=(k[H>>2]|0)+1}if(!j)o=15;else{g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(L);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[H>>2]|0)+1|0;k[H>>2]=d}}while(0);if((o|0)==15){o=0;d=k[H>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081);else if((o|0)==56)Ka(19947,19971,48,20081);else if((o|0)==58)Ka(20110,19971,49,20081)}while(0);d=k[J>>2]|0;e=k[I>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[K>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[H>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[J>>2]|0)+4|0;k[J>>2]=d;f=k[K>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=94;break}case 2:{e=341;o=94;break}default:{}}if((o|0)==94)k[I>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[J>>2]|0;e=k[K>>2]|0;if((e|0)!=(d|0))k[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[L>>2]|0;if(!d){u=M;return}_r(d);u=M;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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+24|0;P=Q;J=a+8|0;K=k[J>>2]|0;k[P>>2]=0;Ik(I,K,P);K=a+116|0;g=k[K>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];H=k[J>>2]|0;k[P>>2]=0;Ik(I,H,P);H=a+128|0;g=k[H>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;uc(P);d=k[N>>2]|0;e=(k[L>>2]|0)+(k[M>>2]|0)|0;if((k[O>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[L>>2]|0)+1|0;k[L>>2]=d;a:do if(d|0){v=a+104|0;w=a+92|0;x=I+4|0;y=I+8|0;z=a+48|0;A=a+44|0;B=a+28|0;C=a+24|0;D=a+88|0;E=a+84|0;F=I+4|0;G=I+8|0;b:while(1){r=k[M>>2]|0;e=d+-1|0;l=r+e|0;s=k[N>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[L>>2]=e;e=k[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[O>>2]=(k[O>>2]|0)+-4}g=k[K>>2]|0;s=g+(l*12|0)|0;r=(k[H>>2]|0)+(l*12|0)|0;e=to(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[I>>2]=b;k[F>>2]=k[h+4>>2];k[G>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[F>>2];k[h+8>>2]=k[G>>2];k[f>>2]=h+12}else ei(e,I);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[J>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[J>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[J>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[I>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,I);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[J>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[K>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(g>>>0>=33){n=53;break b}if(!g){n=55;break b}b=k[B>>2]|0;d=32-b|0;h=k[C>>2]|0;f=k[h>>2]<>>(32-g|0);s=b+g|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=h+4;k[B>>2]=0}}else{s=g-d|0;k[B>>2]=s;r=h+4|0;k[C>>2]=r;s=32-s|0;d=(k[r>>2]|0)>>>s|f>>>(s-d|0)}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[D>>2]|0;d=k[E>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[D>>2]=t;if((t|0)==32){k[E>>2]=d+4;k[D>>2]=0}i=g?b:f;j=g?f:b}d=k[H>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[O>>2]|0;g=k[N>>2]|0;t=b-g>>2;d=k[M>>2]|0;f=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[M>>2]|0;f=k[L>>2]|0;b=k[O>>2]|0;g=k[N>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[L>>2]=(k[L>>2]|0)+1}if(!j)n=15;else{b=k[O>>2]|0;g=k[N>>2]|0;t=b-g>>2;d=k[M>>2]|0;f=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[M>>2]|0;f=k[L>>2]|0;b=k[O>>2]|0;g=k[N>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[L>>2]|0)+1|0;k[L>>2]=d}}while(0);if((n|0)==15){n=0;d=k[L>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081);else if((n|0)==53)Ka(19947,19971,48,20081);else if((n|0)==55)Ka(20110,19971,49,20081)}while(0);d=k[N>>2]|0;e=k[M>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[O>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[L>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[N>>2]|0)+4|0;k[N>>2]=d;f=k[O>>2]|0;e=f-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)k[M>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[N>>2]|0;e=k[O>>2]|0;if((e|0)!=(d|0))k[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;g=O;H=a+8|0;I=k[H>>2]|0;k[g>>2]=0;Ik(N,I,g);I=a+116|0;h=k[I>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[N>>2];k[f>>2]=k[N+4>>2];k[d>>2]=k[N+8>>2];G=k[H>>2]|0;k[g>>2]=0;Ik(N,G,g);G=a+128|0;g=k[G>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[N>>2];k[f>>2]=k[N+4>>2];k[d>>2]=k[N+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){x=a+104|0;y=a+92|0;w=c+4|0;z=a+96|0;A=a+48|0;B=a+44|0;C=a+28|0;D=a+24|0;E=a+88|0;F=a+84|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;o=r+e|0;s=k[L>>2]|0;q=k[s+(((o>>>0)/341|0)<<2)>>2]|0;o=(o>>>0)%341|0;t=k[q+(o*12|0)>>2]|0;f=k[q+(o*12|0)+4>>2]|0;o=k[q+(o*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);e=(k[M>>2]|0)+-4|0;k[M>>2]=e}g=k[I>>2]|0;r=g+(o*12|0)|0;m=k[G>>2]|0;s=((k[H>>2]|0)+-1|0)==(f|0)?0:f+1|0;q=m+(o*12|0)|0;n=k[q>>2]|0;j=n+(s<<2)|0;d=(k[a>>2]|0)-(k[j>>2]|0)|0;l=n;c:do if(!d)if((t|0)>0){f=g+(o*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[w>>2]|0;while(1){d=l;l=l+1|0;k[w>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){v=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;s=b;v=k[s>>2]|0;s=io(v|0,k[s+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+s|0,m|0,v|0)|0;e=e+1|0;if((e|0)>=(t|0)){v=15;break}}}else v=15;else{if(!t){v=28;break b}if(t>>>0<3){g=k[x>>2]|0;k[g>>2]=s;e=k[H>>2]|0;if(e>>>0>1){f=1;d=s;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[H>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[y>>2]|0;else{l=k[x>>2]|0;m=k[y>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){v=42;break b}if((p|0)<=0){v=44;break b}b=k[A>>2]|0;f=32-b|0;h=k[B>>2]|0;b=k[h>>2]<(f|0)){v=p-f|0;k[A>>2]=v;s=h+4|0;k[B>>2]=s;v=32-v|0;k[e>>2]=(k[s>>2]|0)>>>v|b>>>(v-f|0);break}k[e>>2]=b>>>(32-p|0);v=(k[A>>2]|0)+p|0;k[A>>2]=v;if((v|0)!=32)break;k[B>>2]=h+4;k[A>>2]=0}while(0);s=k[o>>2]|0;v=m+(s<<2)|0;k[v>>2]=k[v>>2]|k[(k[r>>2]|0)+(s<<2)>>2];j=j+1|0}while(j>>>0<(k[H>>2]|0)>>>0)}f=k[c>>2]|0;e=k[w>>2]|0;k[w>>2]=e+1;if(((k[z>>2]|0)-g|0)!=12){v=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;s=f+40|0;v=k[s>>2]|0;s=io(v|0,k[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+s|0,g|0,v|0)|0;d=d+1|0;if(d>>>0>=t>>>0){v=15;break c}e=k[H>>2]|0}}b=1<>2]|0;d=k[r>>2]|0;h=d;g=k[g+(p*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(s<<2)|0;k[g>>2]=(k[g>>2]|0)+b;g=(ca(t|0)|0)^31;if(g>>>0>=33){v=56;break b}if(!g){v=58;break b}h=k[C>>2]|0;d=32-h|0;b=k[D>>2]|0;f=k[b>>2]<>>(32-g|0);r=h+g|0;k[C>>2]=r;if((r|0)==32){k[D>>2]=b+4;k[C>>2]=0}}else{r=g-d|0;k[C>>2]=r;q=b+4|0;k[D>>2]=q;r=32-r|0;d=(k[q>>2]|0)>>>r|f>>>(r-d|0)}h=(t>>>1)-d|0;f=t-h|0;if((h|0)==(f|0))b=h;else{t=k[E>>2]|0;d=k[F>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[E>>2]=t;if((t|0)==32){k[F>>2]=d+4;k[E>>2]=0}b=g?h:f;h=g?f:h}k[j>>2]=(k[j>>2]|0)+1;d=k[m+(o*12|0)+4>>2]|0;if((d|0)!=(l|0)){g=k[m+(p*12|0)>>2]|0;f=d-l>>2;d=0;do{k[g+(d<<2)>>2]=k[n+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[L>>2]|0;t=e-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;e=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((e|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=s;k[d+8>>2]=o;k[J>>2]=(k[J>>2]|0)+1}if(!h)v=15;else{g=k[M>>2]|0;f=k[L>>2]|0;t=g-f>>2;d=k[K>>2]|0;e=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){uc(N);d=k[K>>2]|0;e=k[J>>2]|0;g=k[M>>2]|0;f=k[L>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=s;k[d+8>>2]=p;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((v|0)==15){v=0;d=k[J>>2]|0}if(!d)break a}if((v|0)==23)Ka(6212,6242,51,6368);else if((v|0)==28)Ka(19745,19783,223,19932);else if((v|0)==37)Ka(6212,6242,51,6368);else if((v|0)==42)Ka(19947,19971,48,20081);else if((v|0)==44)Ka(20110,19971,49,20081);else if((v|0)==56)Ka(19947,19971,48,20081);else if((v|0)==58)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;v=94;break}case 2:{e=341;v=94;break}default:{}}if((v|0)==94)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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+24|0;P=Q;J=a+8|0;K=k[J>>2]|0;k[P>>2]=0;Ik(I,K,P);K=a+116|0;g=k[K>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];H=k[J>>2]|0;k[P>>2]=0;Ik(I,H,P);H=a+128|0;g=k[H>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[I>>2];k[f>>2]=k[I+4>>2];k[d>>2]=k[I+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;uc(P);d=k[N>>2]|0;e=(k[L>>2]|0)+(k[M>>2]|0)|0;if((k[O>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[L>>2]|0)+1|0;k[L>>2]=d;a:do if(d|0){v=a+104|0;w=a+92|0;x=I+4|0;y=I+8|0;z=a+48|0;A=a+44|0;B=a+28|0;C=a+24|0;D=a+88|0;E=a+84|0;F=I+4|0;G=I+8|0;b:while(1){r=k[M>>2]|0;e=d+-1|0;n=r+e|0;s=k[N>>2]|0;p=k[s+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;t=k[p+(n*12|0)>>2]|0;f=k[p+(n*12|0)+4>>2]|0;n=k[p+(n*12|0)+8>>2]|0;k[L>>2]=e;e=k[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);e=(k[O>>2]|0)+-4|0;k[O>>2]=e}g=k[K>>2]|0;s=g+(n*12|0)|0;l=k[H>>2]|0;p=((k[J>>2]|0)+-1|0)==(f|0)?0:f+1|0;r=l+(n*12|0)|0;m=k[r>>2]|0;i=m+(p<<2)|0;d=(k[a>>2]|0)-(k[i>>2]|0)|0;j=m;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[I>>2]=b;k[F>>2]=k[h+4>>2];k[G>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[F>>2];k[h+8>>2]=k[G>>2];k[f>>2]=h+12}else ei(e,I);d=d+1|0}while((d|0)<(t|0));q=15}else q=15;else{if(!t){q=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=p;d=k[J>>2]|0;if(d>>>0>1){f=1;e=p;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[J>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){q=36;break b}if((m|0)<=0){q=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[J>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[I>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,I);d=n+1|0;if(d>>>0>=t>>>0){q=15;break c}n=d;d=k[J>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[g+(o*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(p<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(g>>>0>=33){q=53;break b}if(!g){q=55;break b}b=k[B>>2]|0;d=32-b|0;h=k[C>>2]|0;f=k[h>>2]<>>(32-g|0);s=b+g|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=h+4;k[B>>2]=0}}else{s=g-d|0;k[B>>2]=s;r=h+4|0;k[C>>2]=r;s=32-s|0;d=(k[r>>2]|0)>>>s|f>>>(s-d|0)}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0))h=b;else{t=k[D>>2]|0;d=k[E>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[D>>2]=t;if((t|0)==32){k[E>>2]=d+4;k[D>>2]=0}h=g?b:f;b=g?f:b}k[i>>2]=(k[i>>2]|0)+1;d=k[l+(n*12|0)+4>>2]|0;if((d|0)!=(j|0)){g=k[l+(o*12|0)>>2]|0;f=d-j>>2;d=0;do{k[g+(d<<2)>>2]=k[m+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(h|0){g=k[N>>2]|0;t=e-g>>2;d=k[M>>2]|0;f=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[M>>2]|0;f=k[L>>2]|0;e=k[O>>2]|0;g=k[N>>2]|0}d=f+d|0;if((e|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=p;k[d+8>>2]=n;k[L>>2]=(k[L>>2]|0)+1}if(!b)q=15;else{g=k[O>>2]|0;f=k[N>>2]|0;t=g-f>>2;d=k[M>>2]|0;e=k[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){uc(P);d=k[M>>2]|0;e=k[L>>2]|0;g=k[O>>2]|0;f=k[N>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=p;k[d+8>>2]=o;d=(k[L>>2]|0)+1|0;k[L>>2]=d}}while(0);if((q|0)==15){q=0;d=k[L>>2]|0}if(!d)break a}if((q|0)==27)Ka(19745,19783,223,19932);else if((q|0)==36)Ka(19947,19971,48,20081);else if((q|0)==38)Ka(20110,19971,49,20081);else if((q|0)==53)Ka(19947,19971,48,20081);else if((q|0)==55)Ka(20110,19971,49,20081)}while(0);d=k[N>>2]|0;e=k[M>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[O>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[L>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[N>>2]|0)+4|0;k[N>>2]=d;f=k[O>>2]|0;e=f-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)k[M>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[N>>2]|0;e=k[O>>2]|0;if((e|0)!=(d|0))k[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;Q=S;H=a+8|0;k[H>>2]=e;i=a+32|0;d=a+36|0;h=k[d>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0){if(f>>>0>e>>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)k[d>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else oj(i,e-f|0);d=R;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[Q>>2]=0;if(!e){d=0;f=0}else{Yh(R,e,Q);d=k[R+12>>2]|0;f=k[R+16>>2]|0}k[Q>>2]=0;g=R+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(l=d+(e<<2)|0,(f|0)!=(l|0)):0)k[g>>2]=f+(~((f+-4-l|0)>>>2)<<2)}else Yh(R+12|0,e-h|0,Q);d=R+24|0;k[Q>>2]=0;f=R+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(i|0)!=(m|0)):0)k[f>>2]=i+(~((i+-4-m|0)>>>2)<<2)}else Yh(d,e-g|0,Q);d=R+36|0;k[Q>>2]=0;f=R+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(i|0)!=(n|0)):0)k[f>>2]=i+(~((i+-4-n|0)>>>2)<<2)}else Yh(d,e-g|0,Q);i=k[R>>2]|0;if((k[H>>2]|0)>0){l=a+16|0;h=a+32|0;m=a+12|0;g=0;do{d=k[i+(g<<2)>>2]|0;f=k[l>>2]|0;if((d|0)>(f|0)){j=k[h>>2]|0;k[j+(g<<2)>>2]=f}else{G=k[m>>2]|0;j=k[h>>2]|0;k[j+(g<<2)>>2]=(d|0)<(G|0)?G:d}g=g+1|0;d=k[H>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[j+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0)){d=(k[g>>2]|0)+d|0;o=18}}else{d=d-(k[g>>2]|0)|0;o=18}if((o|0)==18){o=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[H>>2]|0))}}t=k[a+48>>2]|0;v=k[a+52>>2]|0;G=jo(16)|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;xl(Q,e);w=a+56|0;g=k[w>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;F=h-f|0;x=F>>2;a:do if((F|0)>4){y=t+64|0;z=t+28|0;A=(e|0)>0;B=a+16|0;C=a+32|0;D=a+12|0;E=a+20|0;F=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;r=1<<(o&31);s=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=61;break b}i=k[R+(f*12|0)>>2]|0;if(((k[(k[t>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(I=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(L=k[z>>2]|0,m=k[v>>2]|0,J=k[m+(k[L+(I<<2)>>2]<<2)>>2]|0,K=I+1|0,K=k[m+(k[L+((((K|0)%3|0|0)==0?I+-2|0:K)<<2)>>2]<<2)>>2]|0,L=k[m+(k[L+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(J|0)<(d|0)&(K|0)<(d|0)&(L|0)<(d|0)):0){j=$(J,e)|0;l=$(K,e)|0;m=$(L,e)|0;if(A){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=42;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[t>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[t>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=61;break b}}while(!(n&(g|0)<0));g=(r&k[h+(q<<2)>>2]|0)!=0;if(g|s){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[y>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==61)if((f|0)>0)o=42;else{O=$(d,e)|0;o=73}if((o|0)==42){o=0;if(A){_j(k[Q>>2]|0,0,F|0)|0;m=f+-1|0;l=G+(m<<2)|0;m=k[a+60+(m*12|0)>>2]|0;n=k[Q>>2]|0;j=0;g=0;do{s=k[l>>2]|0;k[l>>2]=s+1;if(!(k[m+(s>>>5<<2)>>2]&1<<(s&31))){i=k[R+(j*12|0)>>2]|0;h=0;do{s=n+(h<<2)|0;k[s>>2]=(k[s>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0));f=g}else{j=f+-1|0;i=G+(j<<2)|0;j=k[a+60+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{s=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0));f=g}h=$(d,e)|0;if(f){j=k[Q>>2]|0;if(A){g=0;do{s=j+(g<<2)|0;k[s>>2]=(k[s>>2]|0)/(f|0)|0;g=g+1|0}while((g|0)!=(e|0))}m=b+(h<<2)|0;l=c+(h<<2)|0;if((k[H>>2]|0)>0){h=0;do{f=k[j+(h<<2)>>2]|0;g=k[B>>2]|0;if((f|0)>(g|0)){i=k[C>>2]|0;k[i+(h<<2)>>2]=g}else{s=k[D>>2]|0;i=k[C>>2]|0;k[i+(h<<2)>>2]=(f|0)<(s|0)?s:f}h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[m+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[B>>2]|0)){if((f|0)<(k[D>>2]|0)){f=(k[E>>2]|0)+f|0;o=95}}else{f=f-(k[E>>2]|0)|0;o=95}if((o|0)==95){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[H>>2]|0))}}}else{O=h;o=73}}if((o|0)==73?(o=0,M=c+(($(d+-1|0,e)|0)<<2)|0,N=b+(O<<2)|0,P=c+(O<<2)|0,(k[H>>2]|0)>0):0){h=0;do{f=k[M+(h<<2)>>2]|0;g=k[B>>2]|0;if((f|0)>(g|0)){i=k[C>>2]|0;k[i+(h<<2)>>2]=g}else{s=k[D>>2]|0;i=k[C>>2]|0;k[i+(h<<2)>>2]=(f|0)<(s|0)?s:f}h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[N+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=P+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[B>>2]|0)){if((f|0)<(k[D>>2]|0)){f=(k[E>>2]|0)+f|0;o=83}}else{f=f-(k[E>>2]|0)|0;o=83}if((o|0)==83){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[H>>2]|0))}}d=d+1|0;if((d|0)>=(x|0)){d=Q;break a}g=k[w>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=Q;while(0);g=k[d>>2]|0;if(g|0){d=Q+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(G);d=k[R+36>>2]|0;if(d|0){f=R+40|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[R+24>>2]|0;if(d|0){f=R+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[R+12>>2]|0;if(d|0){f=R+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[R>>2]|0;if(!g){u=S;return 1}d=R+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=S;return 1}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;g=K;D=a+8|0;E=k[D>>2]|0;k[g>>2]=0;Ik(J,E,g);E=a+624|0;h=k[E>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];C=k[D>>2]|0;k[g>>2]=0;Ik(J,C,g);C=a+636|0;g=k[C>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;k[J+16>>2]=0;k[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;uc(J);d=k[H>>2]|0;e=(k[F>>2]|0)+(k[G>>2]|0)|0;if((k[I>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[F>>2]|0)+1|0;k[F>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;t=c+4|0;x=a+604|0;y=a+556|0;z=a+552|0;A=a+596|0;B=a+592|0;b:while(1){q=k[G>>2]|0;e=d+-1|0;l=q+e|0;r=k[H>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[F>>2]=e;e=k[I>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[I>>2]=(k[I>>2]|0)+-4}e=k[E>>2]|0;r=e+(l*12|0)|0;q=(k[C>>2]|0)+(l*12|0)|0;n=Lj(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[D>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[D>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[D>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[D>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[E>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(!f)d=0;else{e=0;d=0;do{d=(Nl(a+12+(e<<4)|0)|0)&1|d<<1;e=e+1|0}while((e|0)!=(f|0))}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[A>>2]|0;d=k[B>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[A>>2]=s;if((s|0)==32){k[B>>2]=d+4;k[A>>2]=0}b=f?g:e;j=f?e:g}d=k[C>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[F>>2]=(k[F>>2]|0)+1}if(!j)o=15;else{g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[F>>2]|0)+1|0;k[F>>2]=d}}while(0);if((o|0)==15){o=0;d=k[F>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081)}while(0);d=k[H>>2]|0;e=k[G>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[I>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[F>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[H>>2]|0)+4|0;k[H>>2]=d;f=k[I>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=88;break}case 2:{e=341;o=88;break}default:{}}if((o|0)==88)k[G>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[H>>2]|0;e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[J>>2]|0;if(!d){u=K;return}_r(d);u=K;return}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;g=K;D=a+8|0;E=k[D>>2]|0;k[g>>2]=0;Ik(J,E,g);E=a+624|0;h=k[E>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];C=k[D>>2]|0;k[g>>2]=0;Ik(J,C,g);C=a+636|0;g=k[C>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;k[J+16>>2]=0;k[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;uc(J);d=k[H>>2]|0;e=(k[F>>2]|0)+(k[G>>2]|0)|0;if((k[I>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[F>>2]|0)+1|0;k[F>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;t=c+4|0;x=a+604|0;y=a+556|0;z=a+552|0;A=a+596|0;B=a+592|0;b:while(1){q=k[G>>2]|0;e=d+-1|0;l=q+e|0;r=k[H>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[F>>2]=e;e=k[I>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[I>>2]=(k[I>>2]|0)+-4}e=k[E>>2]|0;r=e+(l*12|0)|0;q=(k[C>>2]|0)+(l*12|0)|0;n=to(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[D>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[D>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[D>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[D>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[E>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(!f)d=0;else{e=0;d=0;do{d=(Nl(a+12+(e<<4)|0)|0)&1|d<<1;e=e+1|0}while((e|0)!=(f|0))}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[A>>2]|0;d=k[B>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[A>>2]=s;if((s|0)==32){k[B>>2]=d+4;k[A>>2]=0}b=f?g:e;j=f?e:g}d=k[C>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[F>>2]=(k[F>>2]|0)+1}if(!j)o=15;else{g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[F>>2]|0)+1|0;k[F>>2]=d}}while(0);if((o|0)==15){o=0;d=k[F>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081)}while(0);d=k[H>>2]|0;e=k[G>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[I>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[F>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[H>>2]|0)+4|0;k[H>>2]=d;f=k[I>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=88;break}case 2:{e=341;o=88;break}default:{}}if((o|0)==88)k[G>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[H>>2]|0;e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[J>>2]|0;if(!d){u=K;return}_r(d);u=K;return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;G=O+24|0;N=O;H=a+8|0;I=k[H>>2]|0;k[N>>2]=0;Ik(G,I,N);I=a+624|0;g=k[I>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];F=k[H>>2]|0;k[N>>2]=0;Ik(G,F,N);F=a+636|0;g=k[F>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;x=G+4|0;y=G+8|0;z=a+556|0;A=a+552|0;B=a+596|0;C=a+592|0;D=G+4|0;E=G+8|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;l=r+e|0;s=k[L>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[M>>2]=(k[M>>2]|0)+-4}g=k[I>>2]|0;s=g+(l*12|0)|0;r=(k[F>>2]|0)+(l*12|0)|0;e=Lj(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[G>>2]=b;k[D>>2]=k[h+4>>2];k[E>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[D>>2];k[h+8>>2]=k[E>>2];k[f>>2]=h+12}else ei(e,G);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[H>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[H>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[H>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[G>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,G);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[H>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[I>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(!g)d=0;else{f=0;d=0;do{d=(Nl(a+12+(f<<4)|0)|0)&1|d<<1;f=f+1|0}while((f|0)!=(g|0))}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[B>>2]|0;d=k[C>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[B>>2]=t;if((t|0)==32){k[C>>2]=d+4;k[B>>2]=0}i=g?b:f;j=g?f:b}d=k[F>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[J>>2]=(k[J>>2]|0)+1}if(!j)n=15;else{b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((n|0)==15){n=0;d=k[J>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-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)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;G=O+24|0;N=O;H=a+8|0;I=k[H>>2]|0;k[N>>2]=0;Ik(G,I,N);I=a+624|0;g=k[I>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];F=k[H>>2]|0;k[N>>2]=0;Ik(G,F,N);F=a+636|0;g=k[F>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;x=G+4|0;y=G+8|0;z=a+556|0;A=a+552|0;B=a+596|0;C=a+592|0;D=G+4|0;E=G+8|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;l=r+e|0;s=k[L>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[M>>2]=(k[M>>2]|0)+-4}g=k[I>>2]|0;s=g+(l*12|0)|0;r=(k[F>>2]|0)+(l*12|0)|0;e=to(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[G>>2]=b;k[D>>2]=k[h+4>>2];k[E>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[D>>2];k[h+8>>2]=k[E>>2];k[f>>2]=h+12}else ei(e,G);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[H>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[H>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[H>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[G>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,G);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[H>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[I>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(!g)d=0;else{f=0;d=0;do{d=(Nl(a+12+(f<<4)|0)|0)&1|d<<1;f=f+1|0}while((f|0)!=(g|0))}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[B>>2]|0;d=k[C>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[B>>2]=t;if((t|0)==32){k[C>>2]=d+4;k[B>>2]=0}i=g?b:f;j=g?f:b}d=k[F>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[J>>2]=(k[J>>2]|0)+1}if(!j)n=15;else{b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((n|0)==15){n=0;d=k[J>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-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)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;g=K;D=a+8|0;E=k[D>>2]|0;k[g>>2]=0;Ik(J,E,g);E=a+624|0;h=k[E>>2]|0;e=k[h>>2]|0;f=h+4|0;if(!e)d=h+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=h+8|0;k[d>>2]=0;k[f>>2]=0;k[h>>2]=0}k[h>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];C=k[D>>2]|0;k[g>>2]=0;Ik(J,C,g);C=a+636|0;g=k[C>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[J>>2];k[f>>2]=k[J+4>>2];k[d>>2]=k[J+8>>2];k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;k[J+16>>2]=0;k[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;uc(J);d=k[H>>2]|0;e=(k[F>>2]|0)+(k[G>>2]|0)|0;if((k[I>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[F>>2]|0)+1|0;k[F>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;t=c+4|0;x=a+604|0;y=a+556|0;z=a+552|0;A=a+596|0;B=a+592|0;b:while(1){q=k[G>>2]|0;e=d+-1|0;l=q+e|0;r=k[H>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[F>>2]=e;e=k[I>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[I>>2]=(k[I>>2]|0)+-4}b=k[E>>2]|0;r=b+(l*12|0)|0;n=((k[D>>2]|0)+-1|0)==(f|0)?0:f+1|0;q=(k[C>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d)if((s|0)>0){f=b+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;h=j+68|0;b=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;while(1){d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){o=23;break b}if(!(i[g>>0]|0))d=k[(k[h>>2]|0)+(d<<2)>>2]|0;p=b;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0;if((e|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[D>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[D>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}b=k[y>>2]|0;f=32-b|0;h=k[z>>2]|0;b=k[h>>2]<(f|0)){p=p-f|0;k[y>>2]=p;h=h+4|0;k[z>>2]=h;p=32-p|0;k[e>>2]=(k[h>>2]|0)>>>p|b>>>(p-f|0);break}k[e>>2]=b>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=h+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[D>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){o=37;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0){o=15;break c}e=k[D>>2]|0}}h=1<>2]|0;d=k[r>>2]|0;g=d;f=k[b+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}f=f+(n<<2)|0;k[f>>2]=(k[f>>2]|0)+h;f=(ca(s|0)|0)^31;if(!f)d=0;else{e=0;d=0;do{d=(Nl(a+12+(e<<4)|0)|0)&1|d<<1;e=e+1|0}while((e|0)!=(f|0))}g=(s>>>1)-d|0;e=s-g|0;if((g|0)==(e|0)){b=g;j=g}else{s=k[A>>2]|0;d=k[B>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[A>>2]=s;if((s|0)==32){k[B>>2]=d+4;k[A>>2]=0}b=f?g:e;j=f?e:g}d=k[C>>2]|0;h=k[d+(l*12|0)>>2]|0;e=h+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=h;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(b|0){g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=n;k[d+8>>2]=l;k[F>>2]=(k[F>>2]|0)+1}if(!j)o=15;else{g=k[I>>2]|0;f=k[H>>2]|0;s=g-f>>2;d=k[G>>2]|0;e=k[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(J);d=k[G>>2]|0;e=k[F>>2]|0;g=k[I>>2]|0;f=k[H>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;d=(k[F>>2]|0)+1|0;k[F>>2]=d}}while(0);if((o|0)==15){o=0;d=k[F>>2]|0}if(!d)break a}if((o|0)==23)Ka(6212,6242,51,6368);else if((o|0)==28)Ka(19745,19783,223,19932);else if((o|0)==37)Ka(6212,6242,51,6368);else if((o|0)==42)Ka(19947,19971,48,20081);else if((o|0)==44)Ka(20110,19971,49,20081)}while(0);d=k[H>>2]|0;e=k[G>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[I>>2]|0;b=f;j=d;if((f|0)==(d|0)){h=0;e=0}else{e=(k[g>>2]|0)+(((e>>>0)%341|0)*12|0)|0;h=e}d:while(1){do{if((e|0)==(h|0))break d;e=e+12|0}while((e-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[F>>2]=0;e=b-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[H>>2]|0)+4|0;k[H>>2]=d;f=k[I>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;o=88;break}case 2:{e=341;o=88;break}default:{}}if((o|0)==88)k[G>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[H>>2]|0;e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[J>>2]|0;if(!d){u=K;return}_r(d);u=K;return}function sb(a){a=a|0;var b=0,c=0,d=Pa,e=Pa,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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=Pa;T=u;u=u+64|0;S=T+28|0;P=T+16|0;L=T+4|0;M=T;R=a;N=a+68|0;b=k[N>>2]|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;k[S+16>>2]=R;O=S+20|0;o[O>>2]=da(1.0);k[S+24>>2]=R;xi(S,b);b=k[N>>2]|0;k[P>>2]=0;R=P+4|0;k[R>>2]=0;k[P+8>>2]=0;do if(b|0)if(b>>>0>1073741823){Jq(P);T=Ma(4)|0;Cr(T);wa(T|0,1344,125)}else{G=b<<2;F=jo(G)|0;k[P>>2]=F;Q=F+(b<<2)|0;k[P+8>>2]=Q;_j(F|0,0,G|0)|0;k[R>>2]=Q;break}while(0);k[L>>2]=0;Q=L+4|0;k[Q>>2]=0;k[L+8>>2]=0;k[M>>2]=0;a:do if((b|0)>0){B=S+16|0;D=S+4|0;E=S+12|0;F=S+8|0;G=L+8|0;C=S+24|0;z=0;y=0;b:while(1){v=k[B>>2]|0;h=k[v+8>>2]|0;v=(k[v+12>>2]|0)-h|0;t=(v|0)>0;if(t){g=h;j=v>>>2;f=0;b=0;do{c=k[g+(f<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(y<<2)>>2]|0;else c=y;b=c<<2^b<<1;f=f+1|0}while((f|0)<(j|0))}else b=0;w=k[D>>2]|0;x=(w|0)==0;c:do if(!x){p=w+-1|0;c=(p&w|0)==0;if(c)s=p&b;else s=(b>>>0)%(w>>>0)|0;b=k[(k[S>>2]|0)+(s<<2)>>2]|0;if((b|0)!=0?(I=k[b>>2]|0,(I|0)!=0):0){r=k[C>>2]|0;q=r+8|0;r=r+12|0;d:do if(c){b=I;while(1){if((k[b+4>>2]&p|0)!=(s|0)){A=45;break c}n=k[b+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0)break d;m=f>>>2;j=0;while(1){f=k[c+(j<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)l=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else l=n;if((m|0)<=(j|0)){A=39;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;j=j+1|0;if((l|0)!=(f|0))break;if((j|0)>=(m|0)){A=43;break d}}b=k[b>>2]|0;if(!b){A=45;break c}}}else{b=I;while(1){if((((k[b+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(s|0)){A=45;break c}n=k[b+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0)break d;m=f>>>2;j=0;while(1){f=k[c+(j<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)l=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else l=n;if((m|0)<=(j|0)){A=39;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;j=j+1|0;if((l|0)!=(f|0))break;if((j|0)>=(m|0)){A=43;break d}}b=k[b>>2]|0;if(!b){A=45;break c}}}while(0);if((A|0)==43){A=0;if(!b){A=45;break}}k[(k[P>>2]|0)+(y<<2)>>2]=k[b+12>>2];b=z}else A=45}else A=45;while(0);do if((A|0)==45){A=0;if(t){g=v>>>2;f=0;b=0;do{c=k[h+(f<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(y<<2)>>2]|0;else c=y;b=c<<2^b<<1;f=f+1|0}while((f|0)<(g|0));s=b}else s=0;e:do if(!x){p=w+-1|0;f=(p&w|0)==0;if(f)b=p&s;else b=(s>>>0)%(w>>>0)|0;c=k[(k[S>>2]|0)+(b<<2)>>2]|0;if((c|0)!=0?(J=k[c>>2]|0,(J|0)!=0):0){r=k[C>>2]|0;q=r+8|0;r=r+12|0;if(f){m=J;while(1){if((k[m+4>>2]&p|0)!=(b|0)){A=80;break e}n=k[m+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0){b=y;break e}l=f>>>2;h=0;while(1){f=k[c+(h<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)j=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else j=n;if((l|0)<=(h|0)){A=76;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;h=h+1|0;if((j|0)!=(f|0))break;if((h|0)>=(l|0)){b=y;break e}}m=k[m>>2]|0;if(!m){A=80;break}}}else{m=J;while(1){if((((k[m+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(b|0)){A=80;break e}n=k[m+8>>2]|0;c=k[q>>2]|0;f=(k[r>>2]|0)-c|0;if((f|0)<=0){b=y;break e}l=f>>>2;h=0;while(1){f=k[c+(h<<2)>>2]|0;g=(i[f+84>>0]|0)==0;if(g)j=k[(k[f+68>>2]|0)+(n<<2)>>2]|0;else j=n;if((l|0)<=(h|0)){A=76;break b}if(g)f=k[(k[f+68>>2]|0)+(y<<2)>>2]|0;else f=y;h=h+1|0;if((j|0)!=(f|0))break;if((h|0)>=(l|0)){b=y;break e}}m=k[m>>2]|0;if(!m){A=80;break}}}}else A=80}else{b=0;A=80}while(0);if((A|0)==80){A=0;g=jo(16)|0;k[g+8>>2]=y;k[g+12>>2]=z;k[g+4>>2]=s;k[g>>2]=0;d=da(((k[E>>2]|0)+1|0)>>>0);U=da(w>>>0);e=da(o[O>>2]);do if(x|d>da(U*e)){b=(w>>>0<3|(w+-1&w|0)!=0)&1|w<<1;c=~~da(_(da(d/e)))>>>0;xi(S,b>>>0>>0?c:b);b=k[D>>2]|0;c=b+-1|0;if(!(c&b)){f=b;b=c&s;break}else{f=b;b=(s>>>0)%(b>>>0)|0;break}}else f=w;while(0);c=(k[S>>2]|0)+(b<<2)|0;b=k[c>>2]|0;if(!b){k[g>>2]=k[F>>2];k[F>>2]=g;k[c>>2]=F;b=k[g>>2]|0;if(b|0){b=k[b+4>>2]|0;c=f+-1|0;if(!(c&f))b=b&c;else b=(b>>>0)%(f>>>0)|0;b=(k[S>>2]|0)+(b<<2)|0;A=91}}else{k[g>>2]=k[b>>2];A=91}if((A|0)==91){A=0;k[b>>2]=g}k[E>>2]=(k[E>>2]|0)+1;b=k[M>>2]|0}c=z+1|0;k[(k[P>>2]|0)+(b<<2)>>2]=z;b=k[Q>>2]|0;if((b|0)==(k[G>>2]|0)){Dj(L,M);b=c;break}else{k[b>>2]=k[M>>2];k[Q>>2]=b+4;b=c;break}}while(0);y=(k[M>>2]|0)+1|0;k[M>>2]=y;c=k[N>>2]|0;if((y|0)>=(c|0)){H=b;K=c;break a}else z=b}if((A|0)==39)Ka(20257,20148,64,20247);else if((A|0)==76)Ka(20257,20148,64,20247)}else{H=0;K=0}while(0);if((H|0)!=(K|0)){Xa[k[(k[a>>2]|0)+24>>2]&7](a,P,L);k[N>>2]=H}b=k[L>>2]|0;if(b|0){c=k[Q>>2]|0;if((c|0)!=(b|0))k[Q>>2]=c+(~((c+-4-b|0)>>>2)<<2);_r(b)}b=k[P>>2]|0;if(b|0){c=k[R>>2]|0;if((c|0)!=(b|0))k[R>>2]=c+(~((c+-4-b|0)>>>2)<<2);_r(b)}b=k[S+8>>2]|0;if(b|0)do{R=b;b=k[b>>2]|0;_r(R)}while((b|0)!=0);b=k[S>>2]|0;k[S>>2]=0;if(!b){u=T;return}_r(b);u=T;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;G=O+24|0;N=O;H=a+8|0;I=k[H>>2]|0;k[N>>2]=0;Ik(G,I,N);I=a+624|0;g=k[I>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];F=k[H>>2]|0;k[N>>2]=0;Ik(G,F,N);F=a+636|0;g=k[F>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[G>>2];k[f>>2]=k[G+4>>2];k[d>>2]=k[G+8>>2];k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;uc(N);d=k[L>>2]|0;e=(k[J>>2]|0)+(k[K>>2]|0)|0;if((k[M>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[J>>2]|0)+1|0;k[J>>2]=d;a:do if(d|0){v=a+612|0;w=a+600|0;x=G+4|0;y=G+8|0;z=a+556|0;A=a+552|0;B=a+596|0;C=a+592|0;D=G+4|0;E=G+8|0;b:while(1){r=k[K>>2]|0;e=d+-1|0;l=r+e|0;s=k[L>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[J>>2]=e;e=k[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[M>>2]=(k[M>>2]|0)+-4}g=k[I>>2]|0;s=g+(l*12|0)|0;e=((k[H>>2]|0)+-1|0)==(f|0)?0:f+1|0;r=(k[F>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[G>>2]=b;k[D>>2]=k[h+4>>2];k[E>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[D>>2];k[h+8>>2]=k[E>>2];k[f>>2]=h+12}else ei(e,G);d=d+1|0}while((d|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[H>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[H>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){n=36;break b}if((m|0)<=0){n=38;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[H>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[G>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,G);d=n+1|0;if(d>>>0>=t>>>0){n=15;break c}n=d;d=k[H>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[g+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=g+(e<<2)|0;k[g>>2]=(k[g>>2]|0)+h;g=(ca(t|0)|0)^31;if(!g)d=0;else{f=0;d=0;do{d=(Nl(a+12+(f<<4)|0)|0)&1|d<<1;f=f+1|0}while((f|0)!=(g|0))}b=(t>>>1)-d|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[B>>2]|0;d=k[C>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[B>>2]=t;if((t|0)==32){k[C>>2]=d+4;k[B>>2]=0}i=g?b:f;j=g?f:b}d=k[F>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[J>>2]=(k[J>>2]|0)+1}if(!j)n=15;else{b=k[M>>2]|0;g=k[L>>2]|0;t=b-g>>2;d=k[K>>2]|0;f=k[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(N);d=k[K>>2]|0;f=k[J>>2]|0;b=k[M>>2]|0;g=k[L>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;d=(k[J>>2]|0)+1|0;k[J>>2]=d}}while(0);if((n|0)==15){n=0;d=k[J>>2]|0}if(!d)break a}if((n|0)==27)Ka(19745,19783,223,19932);else if((n|0)==36)Ka(19947,19971,48,20081);else if((n|0)==38)Ka(20110,19971,49,20081)}while(0);d=k[L>>2]|0;e=k[K>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[M>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[J>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[L>>2]|0)+4|0;k[L>>2]=d;f=k[M>>2]|0;e=f-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)k[K>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[L>>2]|0;e=k[M>>2]|0;if((e|0)!=(d|0))k[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[N>>2]|0;if(!d){u=O;return}_r(d);u=O;return}function ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;k[I>>2]=e;i=a+32|0;d=a+36|0;h=k[d>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0){if(f>>>0>e>>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)k[d>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else oj(i,e-f|0);d=O;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[N>>2]=0;if(!e){d=0;f=0}else{Yh(O,e,N);d=k[O+12>>2]|0;f=k[O+16>>2]|0}k[N>>2]=0;g=O+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(l=d+(e<<2)|0,(f|0)!=(l|0)):0)k[g>>2]=f+(~((f+-4-l|0)>>>2)<<2)}else Yh(O+12|0,e-h|0,N);d=O+24|0;k[N>>2]=0;f=O+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(i|0)!=(m|0)):0)k[f>>2]=i+(~((i+-4-m|0)>>>2)<<2)}else Yh(d,e-g|0,N);d=O+36|0;k[N>>2]=0;f=O+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(i|0)!=(n|0)):0)k[f>>2]=i+(~((i+-4-n|0)>>>2)<<2)}else Yh(d,e-g|0,N);i=k[O>>2]|0;if((k[I>>2]|0)>0){l=a+16|0;h=a+32|0;m=a+12|0;g=0;do{d=k[i+(g<<2)>>2]|0;f=k[l>>2]|0;if((d|0)>(f|0)){j=k[h>>2]|0;k[j+(g<<2)>>2]=f}else{H=k[m>>2]|0;j=k[h>>2]|0;k[j+(g<<2)>>2]=(d|0)<(H|0)?H:d}g=g+1|0;d=k[I>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=a+20|0;f=0;do{d=(k[b+(f<<2)>>2]|0)+(k[j+(f<<2)>>2]|0)|0;h=c+(f<<2)|0;k[h>>2]=d;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0)){d=(k[g>>2]|0)+d|0;o=18}}else{d=d-(k[g>>2]|0)|0;o=18}if((o|0)==18){o=0;k[h>>2]=d}f=f+1|0}while((f|0)<(k[I>>2]|0))}}w=k[a+48>>2]|0;x=k[a+52>>2]|0;H=jo(16)|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;xl(N,e);y=a+56|0;g=k[y>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;G=h-f|0;z=G>>2;a:do if((G|0)>4){A=w+12|0;B=(e|0)>0;C=a+16|0;D=a+32|0;E=a+12|0;F=a+20|0;G=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0){Iq(g);f=k[g>>2]|0}s=k[f+(d<<2)>>2]|0;t=(((s>>>0)%3|0|0)==0?2:-1)+s|0;v=(s|t|0)<0;r=(s|0)<0?s:t;q=1;f=0;g=s;b:while(1){do{if((g|0)<=-1){o=62;break b}o=k[O+(f*12|0)>>2]|0;p=k[A>>2]|0;i=k[p+(g<<2)>>2]|0;if((i|0)>=0){j=k[w>>2]|0;l=k[x>>2]|0;n=k[l+(k[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=k[j+(h<<2)>>2]|0;m=k[l+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[j+(h<<2)>>2]|0;h=k[l+(h<<2)>>2]|0;if((n|0)<(d|0)&(m|0)<(d|0)&(h|0)<(d|0)){l=$(n,e)|0;j=$(m,e)|0;i=$(h,e)|0;if(B){h=0;do{k[o+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=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=k[p+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[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(v){q=0;g=r;continue}g=k[p+(t<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){q=0;g=g+2|0;continue}else{q=0;g=g+-1|0;continue}}if((o|0)==62)if((f|0)>0)o=45;else{L=$(d,e)|0;o=74}if((o|0)==45){o=0;if(B){_j(k[N>>2]|0,0,G|0)|0;m=f+-1|0;l=H+(m<<2)|0;m=k[a+60+(m*12|0)>>2]|0;n=k[N>>2]|0;j=0;g=0;do{v=k[l>>2]|0;k[l>>2]=v+1;if(!(k[m+(v>>>5<<2)>>2]&1<<(v&31))){i=k[O+(j*12|0)>>2]|0;h=0;do{v=n+(h<<2)|0;k[v>>2]=(k[v>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0));f=g}else{j=f+-1|0;i=H+(j<<2)|0;j=k[a+60+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{v=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0));f=g}h=$(d,e)|0;if(f){j=k[N>>2]|0;if(B){g=0;do{v=j+(g<<2)|0;k[v>>2]=(k[v>>2]|0)/(f|0)|0;g=g+1|0}while((g|0)!=(e|0))}m=b+(h<<2)|0;l=c+(h<<2)|0;if((k[I>>2]|0)>0){h=0;do{f=k[j+(h<<2)>>2]|0;g=k[C>>2]|0;if((f|0)>(g|0)){i=k[D>>2]|0;k[i+(h<<2)>>2]=g}else{v=k[E>>2]|0;i=k[D>>2]|0;k[i+(h<<2)>>2]=(f|0)<(v|0)?v:f}h=h+1|0;f=k[I>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[m+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=l+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[C>>2]|0)){if((f|0)<(k[E>>2]|0)){f=(k[F>>2]|0)+f|0;o=96}}else{f=f-(k[F>>2]|0)|0;o=96}if((o|0)==96){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[I>>2]|0))}}}else{L=h;o=74}}if((o|0)==74?(o=0,J=c+(($(d+-1|0,e)|0)<<2)|0,K=b+(L<<2)|0,M=c+(L<<2)|0,(k[I>>2]|0)>0):0){h=0;do{f=k[J+(h<<2)>>2]|0;g=k[C>>2]|0;if((f|0)>(g|0)){i=k[D>>2]|0;k[i+(h<<2)>>2]=g}else{v=k[E>>2]|0;i=k[D>>2]|0;k[i+(h<<2)>>2]=(f|0)<(v|0)?v:f}h=h+1|0;f=k[I>>2]|0}while((h|0)<(f|0));if((f|0)>0){g=0;do{f=(k[K+(g<<2)>>2]|0)+(k[i+(g<<2)>>2]|0)|0;h=M+(g<<2)|0;k[h>>2]=f;if((f|0)<=(k[C>>2]|0)){if((f|0)<(k[E>>2]|0)){f=(k[F>>2]|0)+f|0;o=84}}else{f=f-(k[F>>2]|0)|0;o=84}if((o|0)==84){o=0;k[h>>2]=f}g=g+1|0}while((g|0)<(k[I>>2]|0))}}d=d+1|0;if((d|0)>=(z|0)){d=N;break a}g=k[y>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}}else d=N;while(0);g=k[d>>2]|0;if(g|0){d=N+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g)}_r(H);d=k[O+36>>2]|0;if(d|0){f=O+40|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[O+24>>2]|0;if(d|0){f=O+28|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}d=k[O+12>>2]|0;if(d|0){f=O+16|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-d|0)>>>2)<<2);_r(d)}g=k[O>>2]|0;if(!g){u=P;return 1}d=O+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);_r(g);u=P;return 1}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;E=N;F=a+8|0;G=k[F>>2]|0;k[E>>2]=0;Ik(M,G,E);G=a+112|0;g=k[G>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];D=k[F>>2]|0;k[E>>2]=0;Ik(M,D,E);D=a+124|0;g=k[D>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;uc(M);d=k[J>>2]|0;e=(k[H>>2]|0)+(k[I>>2]|0)|0;if((k[K>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[H>>2]|0)+1|0;k[H>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;t=c+4|0;x=a+92|0;y=a+44|0;z=a+40|0;A=a+12|0;B=a+84|0;C=a+80|0;b:while(1){q=k[I>>2]|0;e=d+-1|0;l=q+e|0;r=k[J>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[H>>2]=e;e=k[K>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[K>>2]=(k[K>>2]|0)+-4}e=k[G>>2]|0;r=e+(l*12|0)|0;q=(k[D>>2]|0)+(l*12|0)|0;n=to(a,s,q,f)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d){if((s|0)>0){f=e+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;b=j+68|0;h=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;do{d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){L=22;break b}if(!(i[g>>0]|0))d=k[(k[b>>2]|0)+(d<<2)>>2]|0;p=h;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0}while((e|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[F>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[F>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}h=k[y>>2]|0;f=32-h|0;b=k[z>>2]|0;h=k[b>>2]<(f|0)){p=p-f|0;k[y>>2]=p;b=b+4|0;k[z>>2]=b;p=32-p|0;k[e>>2]=(k[b>>2]|0)>>>p|h>>>(p-f|0);break}k[e>>2]=h>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=b+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[F>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){L=36;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0)break c;e=k[F>>2]|0}}b=1<>2]|0;d=k[r>>2]|0;g=d;f=k[(k[G>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=f+(n<<2)|0;k[g>>2]=(k[g>>2]|0)+b;g=(ca(s|0)|0)^31;k[E>>2]=0;ok(A,g,E);g=(s>>>1)-(k[E>>2]|0)|0;e=s-g|0;if((g|0)==(e|0)){h=g;j=g}else{s=k[B>>2]|0;d=k[C>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=d+4;k[B>>2]=0}h=f?g:e;j=f?e:g}d=k[D>>2]|0;b=k[d+(l*12|0)>>2]|0;e=b+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=b;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(h|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=n;k[d+8>>2]=l;k[H>>2]=(k[H>>2]|0)+1}if(j|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;k[H>>2]=(k[H>>2]|0)+1}}while(0);d=k[H>>2]|0;if(!d)break a}if((L|0)==22)Ka(6212,6242,51,6368);else if((L|0)==27)Ka(19745,19783,223,19932);else if((L|0)==36)Ka(6212,6242,51,6368);else if((L|0)==41)Ka(19947,19971,48,20081);else if((L|0)==43)Ka(20110,19971,49,20081)}while(0);d=k[J>>2]|0;e=k[I>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[K>>2]|0;h=f;j=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[H>>2]=0;e=h-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[J>>2]|0)+4|0;k[J>>2]=d;f=k[K>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;L=86;break}case 2:{e=341;L=86;break}default:{}}if((L|0)==86)k[I>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[J>>2]|0;e=k[K>>2]|0;if((e|0)!=(d|0))k[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[M>>2]|0;if(!d){u=N;return}_r(d);u=N;return}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;E=N;F=a+8|0;G=k[F>>2]|0;k[E>>2]=0;Ik(M,G,E);G=a+112|0;g=k[G>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];D=k[F>>2]|0;k[E>>2]=0;Ik(M,D,E);D=a+124|0;g=k[D>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[M>>2];k[f>>2]=k[M+4>>2];k[d>>2]=k[M+8>>2];k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;uc(M);d=k[J>>2]|0;e=(k[H>>2]|0)+(k[I>>2]|0)|0;if((k[K>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[H>>2]|0)+1|0;k[H>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;t=c+4|0;x=a+92|0;y=a+44|0;z=a+40|0;A=a+12|0;B=a+84|0;C=a+80|0;b:while(1){q=k[I>>2]|0;e=d+-1|0;l=q+e|0;r=k[J>>2]|0;p=k[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=k[p+(l*12|0)>>2]|0;f=k[p+(l*12|0)+4>>2]|0;l=k[p+(l*12|0)+8>>2]|0;k[H>>2]=e;e=k[K>>2]|0;r=e-r>>2;if((1-d-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[K>>2]=(k[K>>2]|0)+-4}h=k[G>>2]|0;r=h+(l*12|0)|0;n=((k[F>>2]|0)+-1|0)==(f|0)?0:f+1|0;q=(k[D>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!d){if((s|0)>0){f=h+(l*12|0)+4|0;j=k[c>>2]|0;g=j+84|0;b=j+68|0;h=j+40|0;j=j+64|0;e=0;l=k[t>>2]|0;do{d=l;l=l+1|0;k[t>>2]=l;m=k[r>>2]|0;if(((k[f>>2]|0)-m|0)!=12){L=22;break b}if(!(i[g>>0]|0))d=k[(k[b>>2]|0)+(d<<2)>>2]|0;p=h;q=k[p>>2]|0;p=io(q|0,k[p+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Gh((k[k[j>>2]>>2]|0)+p|0,m|0,q|0)|0;e=e+1|0}while((e|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){g=k[v>>2]|0;k[g>>2]=n;e=k[F>>2]|0;if(e>>>0>1){f=1;d=n;do{d=(d|0)==(e+-1|0)?0:d+1|0;k[g+(f<<2)>>2]=d;f=f+1|0;e=k[F>>2]|0}while(f>>>0>>0)}d=0;while(1){if(!e)g=k[w>>2]|0;else{l=k[v>>2]|0;m=k[w>>2]|0;n=k[q>>2]|0;g=m;j=0;do{o=l+(j<<2)|0;k[m+(k[o>>2]<<2)>>2]=0;e=k[o>>2]|0;p=(k[a>>2]|0)-(k[n+(e<<2)>>2]|0)|0;do if(p|0){e=m+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}h=k[y>>2]|0;f=32-h|0;b=k[z>>2]|0;h=k[b>>2]<(f|0)){p=p-f|0;k[y>>2]=p;b=b+4|0;k[z>>2]=b;p=32-p|0;k[e>>2]=(k[b>>2]|0)>>>p|h>>>(p-f|0);break}k[e>>2]=h>>>(32-p|0);p=(k[y>>2]|0)+p|0;k[y>>2]=p;if((p|0)!=32)break;k[z>>2]=b+4;k[y>>2]=0}while(0);o=k[o>>2]|0;p=m+(o<<2)|0;k[p>>2]=k[p>>2]|k[(k[r>>2]|0)+(o<<2)>>2];j=j+1|0}while(j>>>0<(k[F>>2]|0)>>>0)}f=k[c>>2]|0;e=k[t>>2]|0;k[t>>2]=e+1;if(((k[x>>2]|0)-g|0)!=12){L=36;break b}if(!(i[f+84>>0]|0))e=k[(k[f+68>>2]|0)+(e<<2)>>2]|0;o=f+40|0;p=k[o>>2]|0;o=io(p|0,k[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Gh((k[k[f+64>>2]>>2]|0)+o|0,g|0,p|0)|0;d=d+1|0;if(d>>>0>=s>>>0)break c;e=k[F>>2]|0}}b=1<>2]|0;d=k[r>>2]|0;g=d;f=k[h+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{k[f+(d<<2)>>2]=k[g+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}g=f+(n<<2)|0;k[g>>2]=(k[g>>2]|0)+b;g=(ca(s|0)|0)^31;k[E>>2]=0;ok(A,g,E);g=(s>>>1)-(k[E>>2]|0)|0;e=s-g|0;if((g|0)==(e|0)){h=g;j=g}else{s=k[B>>2]|0;d=k[C>>2]|0;f=(k[d>>2]&1<<31-s|0)!=0;s=s+1|0;k[B>>2]=s;if((s|0)==32){k[C>>2]=d+4;k[B>>2]=0}h=f?g:e;j=f?e:g}d=k[D>>2]|0;b=k[d+(l*12|0)>>2]|0;e=b+(n<<2)|0;k[e>>2]=(k[e>>2]|0)+1;e=k[d+(l*12|0)+4>>2]|0;f=b;if((e|0)!=(f|0)){g=k[d+(m*12|0)>>2]|0;e=e-f>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(h|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=h;k[d+4>>2]=n;k[d+8>>2]=l;k[H>>2]=(k[H>>2]|0)+1}if(j|0){g=k[K>>2]|0;f=k[J>>2]|0;s=g-f>>2;d=k[I>>2]|0;e=k[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(e+d|0)){uc(M);d=k[I>>2]|0;e=k[H>>2]|0;g=k[K>>2]|0;f=k[J>>2]|0}d=e+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=m;k[H>>2]=(k[H>>2]|0)+1}}while(0);d=k[H>>2]|0;if(!d)break a}if((L|0)==22)Ka(6212,6242,51,6368);else if((L|0)==27)Ka(19745,19783,223,19932);else if((L|0)==36)Ka(6212,6242,51,6368);else if((L|0)==41)Ka(19947,19971,48,20081);else if((L|0)==43)Ka(20110,19971,49,20081)}while(0);d=k[J>>2]|0;e=k[I>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[K>>2]|0;h=f;j=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[H>>2]=0;e=h-j>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[J>>2]|0)+4|0;k[J>>2]=d;f=k[K>>2]|0;e=f-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;L=86;break}case 2:{e=341;L=86;break}default:{}}if((L|0)==86)k[I>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[J>>2]|0;e=k[K>>2]|0;if((e|0)!=(d|0))k[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[M>>2]|0;if(!d){u=N;return}_r(d);u=N;return}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;H=Q+24|0;P=Q;I=a+8|0;J=k[I>>2]|0;k[P>>2]=0;Ik(H,J,P);J=a+112|0;g=k[J>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];G=k[I>>2]|0;k[P>>2]=0;Ik(H,G,P);G=a+124|0;g=k[G>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;uc(P);d=k[M>>2]|0;e=(k[K>>2]|0)+(k[L>>2]|0)|0;if((k[N>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[K>>2]|0)+1|0;k[K>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;x=H+4|0;y=H+8|0;z=a+44|0;A=a+40|0;B=a+12|0;C=a+84|0;D=a+80|0;E=H+4|0;F=H+8|0;b:while(1){r=k[L>>2]|0;e=d+-1|0;l=r+e|0;s=k[M>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[K>>2]=e;e=k[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[N>>2]=(k[N>>2]|0)+-4}g=k[J>>2]|0;s=g+(l*12|0)|0;r=(k[G>>2]|0)+(l*12|0)|0;e=to(a,t,r,f)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[H>>2]=b;k[E>>2]=k[h+4>>2];k[F>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[E>>2];k[h+8>>2]=k[F>>2];k[f>>2]=h+12}else ei(e,H);d=d+1|0}while((d|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[I>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[I>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){O=35;break b}if((m|0)<=0){O=37;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[I>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[H>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,H);d=n+1|0;if(d>>>0>=t>>>0)break c;n=d;d=k[I>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[(k[J>>2]|0)+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}b=g+(e<<2)|0;k[b>>2]=(k[b>>2]|0)+h;b=(ca(t|0)|0)^31;k[H>>2]=0;ok(B,b,H);b=(t>>>1)-(k[H>>2]|0)|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[C>>2]|0;d=k[D>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[C>>2]=t;if((t|0)==32){k[D>>2]=d+4;k[C>>2]=0}i=g?b:f;j=g?f:b}d=k[G>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[K>>2]=(k[K>>2]|0)+1}if(j|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;k[K>>2]=(k[K>>2]|0)+1}}while(0);d=k[K>>2]|0;if(!d)break a}if((O|0)==26)Ka(19745,19783,223,19932);else if((O|0)==35)Ka(19947,19971,48,20081);else if((O|0)==37)Ka(20110,19971,49,20081)}while(0);d=k[M>>2]|0;e=k[L>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[N>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[K>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[M>>2]|0)+4|0;k[M>>2]=d;f=k[N>>2]|0;e=f-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)k[L>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[M>>2]|0;e=k[N>>2]|0;if((e|0)!=(d|0))k[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;H=Q+24|0;P=Q;I=a+8|0;J=k[I>>2]|0;k[P>>2]=0;Ik(H,J,P);J=a+112|0;g=k[J>>2]|0;e=k[g>>2]|0;f=g+4|0;if(!e)d=g+8|0;else{d=k[f>>2]|0;if((d|0)!=(e|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);_r(e);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];G=k[I>>2]|0;k[P>>2]=0;Ik(H,G,P);G=a+124|0;g=k[G>>2]|0;d=k[g>>2]|0;f=g+4|0;if(!d)d=g+8|0;else{e=k[f>>2]|0;if((e|0)!=(d|0))k[f>>2]=e+(~((e+-4-d|0)>>>2)<<2);_r(d);d=g+8|0;k[d>>2]=0;k[f>>2]=0;k[g>>2]=0}k[g>>2]=k[H>>2];k[f>>2]=k[H+4>>2];k[d>>2]=k[H+8>>2];k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=0;k[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;uc(P);d=k[M>>2]|0;e=(k[K>>2]|0)+(k[L>>2]|0)|0;if((k[N>>2]|0)==(d|0))d=0;else d=(k[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;k[d>>2]=b;k[d+4>>2]=0;k[d+8>>2]=0;d=(k[K>>2]|0)+1|0;k[K>>2]=d;a:do if(d|0){v=a+100|0;w=a+88|0;x=H+4|0;y=H+8|0;z=a+44|0;A=a+40|0;B=a+12|0;C=a+84|0;D=a+80|0;E=H+4|0;F=H+8|0;b:while(1){r=k[L>>2]|0;e=d+-1|0;l=r+e|0;s=k[M>>2]|0;q=k[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=k[q+(l*12|0)>>2]|0;f=k[q+(l*12|0)+4>>2]|0;l=k[q+(l*12|0)+8>>2]|0;k[K>>2]=e;e=k[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){_r(k[e+-4>>2]|0);k[N>>2]=(k[N>>2]|0)+-4}g=k[J>>2]|0;s=g+(l*12|0)|0;e=((k[I>>2]|0)+-1|0)==(f|0)?0:f+1|0;r=(k[G>>2]|0)+(l*12|0)|0;d=(k[a>>2]|0)-(k[(k[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){e=k[c>>2]|0;f=e+4|0;g=e+8|0;d=0;do{h=k[s>>2]|0;b=k[h>>2]|0;k[H>>2]=b;k[E>>2]=k[h+4>>2];k[F>>2]=k[h+8>>2];h=k[f>>2]|0;if(h>>>0<(k[g>>2]|0)>>>0){k[h>>2]=b;k[h+4>>2]=k[E>>2];k[h+8>>2]=k[F>>2];k[f>>2]=h+12}else ei(e,H);d=d+1|0}while((d|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){g=k[v>>2]|0;k[g>>2]=e;d=k[I>>2]|0;if(d>>>0>1){f=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;k[g+(f<<2)>>2]=e;f=f+1|0;d=k[I>>2]|0}while(f>>>0>>0)}o=k[c>>2]|0;p=o+4|0;q=o+8|0;n=0;while(1){if(d|0){h=k[v>>2]|0;i=k[w>>2]|0;j=k[r>>2]|0;b=0;do{l=h+(b<<2)|0;k[i+(k[l>>2]<<2)>>2]=0;d=k[l>>2]|0;m=(k[a>>2]|0)-(k[j+(d<<2)>>2]|0)|0;do if(m|0){d=i+(d<<2)|0;if((m|0)>=33){O=35;break b}if((m|0)<=0){O=37;break b}g=k[z>>2]|0;e=32-g|0;f=k[A>>2]|0;g=k[f>>2]<(e|0)){m=m-e|0;k[z>>2]=m;f=f+4|0;k[A>>2]=f;m=32-m|0;k[d>>2]=(k[f>>2]|0)>>>m|g>>>(m-e|0);break}k[d>>2]=g>>>(32-m|0);m=(k[z>>2]|0)+m|0;k[z>>2]=m;if((m|0)!=32)break;k[A>>2]=f+4;k[z>>2]=0}while(0);l=k[l>>2]|0;m=i+(l<<2)|0;k[m>>2]=k[m>>2]|k[(k[s>>2]|0)+(l<<2)>>2];b=b+1|0}while(b>>>0<(k[I>>2]|0)>>>0)}e=k[w>>2]|0;d=k[e>>2]|0;k[H>>2]=d;k[x>>2]=k[e+4>>2];k[y>>2]=k[e+8>>2];e=k[p>>2]|0;if(e>>>0<(k[q>>2]|0)>>>0){k[e>>2]=d;k[e+4>>2]=k[x>>2];k[e+8>>2]=k[y>>2];k[p>>2]=e+12}else ei(o,H);d=n+1|0;if(d>>>0>=t>>>0)break c;n=d;d=k[I>>2]|0}}h=1<>2]|0;d=k[s>>2]|0;b=d;g=k[g+(m*12|0)>>2]|0;if((f|0)!=(d|0)){f=f-d>>2;d=0;do{k[g+(d<<2)>>2]=k[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}b=g+(e<<2)|0;k[b>>2]=(k[b>>2]|0)+h;b=(ca(t|0)|0)^31;k[H>>2]=0;ok(B,b,H);b=(t>>>1)-(k[H>>2]|0)|0;f=t-b|0;if((b|0)==(f|0)){i=b;j=b}else{t=k[C>>2]|0;d=k[D>>2]|0;g=(k[d>>2]&1<<31-t|0)!=0;t=t+1|0;k[C>>2]=t;if((t|0)==32){k[D>>2]=d+4;k[C>>2]=0}i=g?b:f;j=g?f:b}d=k[G>>2]|0;h=k[d+(l*12|0)>>2]|0;f=h+(e<<2)|0;k[f>>2]=(k[f>>2]|0)+1;f=k[d+(l*12|0)+4>>2]|0;g=h;if((f|0)!=(g|0)){b=k[d+(m*12|0)>>2]|0;f=f-g>>2;d=0;do{k[b+(d<<2)>>2]=k[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=i;k[d+4>>2]=e;k[d+8>>2]=l;k[K>>2]=(k[K>>2]|0)+1}if(j|0){b=k[N>>2]|0;g=k[M>>2]|0;t=b-g>>2;d=k[L>>2]|0;f=k[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(f+d|0)){uc(P);d=k[L>>2]|0;f=k[K>>2]|0;b=k[N>>2]|0;g=k[M>>2]|0}d=f+d|0;if((b|0)==(g|0))d=0;else d=(k[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;k[d>>2]=j;k[d+4>>2]=e;k[d+8>>2]=m;k[K>>2]=(k[K>>2]|0)+1}}while(0);d=k[K>>2]|0;if(!d)break a}if((O|0)==26)Ka(19745,19783,223,19932);else if((O|0)==35)Ka(19947,19971,48,20081);else if((O|0)==37)Ka(20110,19971,49,20081)}while(0);d=k[M>>2]|0;e=k[L>>2]|0;g=d+(((e>>>0)/341|0)<<2)|0;f=k[N>>2]|0;h=f;i=d;if((f|0)==(d|0)){b=0;e=0}else{e=(k[g>>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-(k[g>>2]|0)|0)!=4092);e=g+4|0;g=e;e=k[e>>2]|0}k[K>>2]=0;e=h-i>>2;if(e>>>0>2)do{_r(k[d>>2]|0);d=(k[M>>2]|0)+4|0;k[M>>2]=d;f=k[N>>2]|0;e=f-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)k[L>>2]=e;if((d|0)!=(f|0)){do{_r(k[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=k[M>>2]|0;e=k[N>>2]|0;if((e|0)!=(d|0))k[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=k[P>>2]|0;if(!d){u=Q;return}_r(d);u=Q;return}function zb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,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;E=I+36|0;H=I+24|0;G=I+12|0;C=I;F=a+4|0;d=k[(k[F>>2]|0)+44>>2]|0;D=a+8|0;b=k[D>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)>>2>>>0)/3|0;c=d+84|0;d=d+88|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;g=k[d>>2]|0;f=k[c>>2]|0;e=(g-f|0)/12|0;if(b>>>0<=e>>>0){if(b>>>0>>0?(h=f+(b*12|0)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~(((g+-12-h|0)>>>0)/12|0)*12|0)}else ih(c,b-e|0,E);q=a+228|0;r=a+232|0;if((k[r>>2]|0)==(k[q>>2]|0)){f=k[D>>2]|0;f=(k[f+28>>2]|0)-(k[f+24>>2]|0)>>2;k[E>>2]=-1;Ik(H,f,E);f=k[F>>2]|0;b=k[f+44>>2]|0;e=k[b+88>>2]|0;d=k[b+84>>2]|0;if((e-d|0)>0){o=G+4|0;p=G+8|0;c=0;n=0;m=b;b=f;g=f;j=e;while(1){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;a=n*3|0;if((n|0)<0)e=-1073741824;else e=k[(k[k[D>>2]>>2]|0)+(a<<2)>>2]|0;i=k[H>>2]|0;e=i+(e<<2)|0;f=k[e>>2]|0;if((f|0)==-1){k[e>>2]=c;h=c+1|0;l=c}else{h=c;l=f}k[G>>2]=l;if((a|0)<-1)c=-1073741824;else c=k[(k[k[D>>2]>>2]|0)+(a+1<<2)>>2]|0;e=i+(c<<2)|0;c=k[e>>2]|0;if((c|0)==-1){k[e>>2]=h;e=h+1|0;c=h}else e=h;k[o>>2]=c;if((a|0)<-2)c=-1073741824;else c=k[(k[k[D>>2]>>2]|0)+(a+2<<2)>>2]|0;c=i+(c<<2)|0;f=k[c>>2]|0;if((f|0)==-1){k[c>>2]=e;c=e+1|0}else{c=e;e=f}k[p>>2]=e;h=m+84|0;a=m+88|0;f=(j-d|0)/12|0;e=d;i=n;n=n+1|0;if((i|0)<(f|0)){h=j;f=m}else{b=j;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;if(n>>>0<=f>>>0)if(n>>>0>>0?(A=e+(n*12|0)|0,(b|0)!=(A|0)):0){b=b+(~(((b+-12-A|0)>>>0)/12|0)*12|0)|0;k[a>>2]=b;f=m}else{f=m;b=j}else{ih(h,n-f|0,E);g=k[F>>2]|0;d=k[g+44>>2]|0;e=k[h>>2]|0;f=d;b=k[d+88>>2]|0;d=k[d+84>>2]|0}h=b;b=g}k[e+(i*12|0)>>2]=l;k[e+(i*12|0)+4>>2]=k[o>>2];k[e+(i*12|0)+8>>2]=k[p>>2];if((n|0)>=((h-d|0)/12|0|0)){d=H;break}else{m=f;j=h}}}else{c=0;d=H;b=f}k[(k[b+4>>2]|0)+68>>2]=c;d=k[d>>2]|0;if(d|0){b=H+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d)}u=I;return 1}k[H>>2]=0;A=H+4|0;k[A>>2]=0;k[H+8>>2]=0;b=k[D>>2]|0;xl(G,(k[b+4>>2]|0)-(k[b>>2]|0)>>2);b=k[D>>2]|0;if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){o=a+136|0;p=H+8|0;n=0;do{g=k[(k[b+24>>2]|0)+(n<<2)>>2]|0;a:do if((g|0)>=0){b:do if((k[(k[o>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)==0?(t=k[r>>2]|0,v=k[q>>2]|0,w=v,(t|0)!=(v|0)):0){f=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=(f|0)<0;a=(t-v|0)/116|0;i=b+12|0;j=b+12|0;e=0;c:while(1){m=k[(k[k[w+(e*116|0)+68>>2]>>2]|0)+(g<<2)>>2]|0;do if(1<<(m&31)&k[(k[w+(e*116|0)+16>>2]|0)+(m>>>5<<2)>>2]|0){l=k[w+(e*116|0)+32>>2]|0;m=k[l+(g<<2)>>2]|0;if(!h){c=k[(k[i>>2]|0)+(f<<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)==(g|0))break;else d=c}else d=f;while(1){c=k[l+(d<<2)>>2]|0;if((d|0)<0)break c;if((c|0)!=(m|0)){g=d;break b}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[j>>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)==(g|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=a>>>0)break b}while(1)if((c|0)==(m|0))c=m;else{g=d;break}}while(0);c=k[A>>2]|0;k[(k[G>>2]|0)+(g<<2)>>2]=c-(k[H>>2]|0)>>2;k[E>>2]=g;if(c>>>0<(k[p>>2]|0)>>>0){k[c>>2]=g;k[A>>2]=c+4}else{Dj(H,E);b=k[D>>2]|0}if((((g|0)>=0?(x=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(x|0)>=0):0)?(s=k[(k[b+12>>2]|0)+(x<<2)>>2]|0,(s|0)>=0):0)?(y=s+(((s>>>0)%3|0|0)==0?2:-1)|0,(y|0)>-1&(y|0)!=(g|0)):0){d=g;f=y;while(1){b=k[r>>2]|0;c=k[q>>2]|0;e=c;d:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){m=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[m+(f<<2)>>2]|0)!=(k[m+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){z=67;break d}}b=k[A>>2]|0;k[(k[G>>2]|0)+(f<<2)>>2]=b-(k[H>>2]|0)>>2;k[E>>2]=f;if(b>>>0<(k[p>>2]|0)>>>0){k[b>>2]=f;k[A>>2]=b+4}else Dj(H,E)}else z=67;while(0);if((z|0)==67){z=0;m=k[G>>2]|0;k[m+(f<<2)>>2]=k[m+(d<<2)>>2]}b=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((b|0)<0)break a;b=k[(k[(k[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)!=(g|0)){d=f;f=b}else break}}}while(0);n=n+1|0;b=k[D>>2]|0}while((n|0)<((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))}c=k[F>>2]|0;b=k[c+44>>2]|0;e=k[b+88>>2]|0;d=k[b+84>>2]|0;if((e-d|0)>0){n=C+4|0;o=C+8|0;m=0;i=c;j=c;while(1){k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;g=(k[G>>2]|0)+(m*3<<2)|0;k[C>>2]=k[g>>2];k[C+4>>2]=k[g+4>>2];k[C+8>>2]=k[g+8>>2];g=b+84|0;h=b+88|0;a=(e-d|0)/12|0;c=d;l=m;m=m+1|0;if((l|0)<(a|0)){g=c;c=i;f=j}else{f=e;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;if(m>>>0<=a>>>0)if(m>>>0>>0?(B=c+(m*12|0)|0,(f|0)!=(B|0)):0){e=f+(~(((f+-12-B|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;f=j}else f=j;else{ih(g,m-a|0,E);f=k[F>>2]|0;d=k[f+44>>2]|0;c=k[g>>2]|0;b=d;e=k[d+88>>2]|0;d=k[d+84>>2]|0}g=c;c=f}k[g+(l*12|0)>>2]=k[C>>2];k[g+(l*12|0)+4>>2]=k[n>>2];k[g+(l*12|0)+8>>2]=k[o>>2];if((m|0)>=((e-d|0)/12|0|0))break;else{i=c;j=f}}}b=k[H>>2]|0;k[(k[c+4>>2]|0)+68>>2]=(k[A>>2]|0)-b>>2;d=k[G>>2]|0;if(d){b=G+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);b=k[H>>2]|0}if(b|0){c=k[A>>2]|0;if((c|0)!=(b|0))k[A>>2]=c+(~((c+-4-b|0)>>>2)<<2);_r(b)}u=I;return 1}function Ab(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,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;j=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;k[t>>2]=0;D=m+12|0;Ap(b)|0;if((M|0)<0){b=-b;B=1;A=20966}else{B=(e&2049|0)!=0&1;A=(e&2048|0)==0?((e&1|0)==0?20967:20972):20969}Ap(b)|0;C=M&2146435072;do if(C>>>0<2146435072|(C|0)==2146435072&0<0){q=+Er(b,t)*2.0;g=q!=0.0;if(g)k[t>>2]=(k[t>>2]|0)+-1;w=f|32;if((w|0)==97){r=f&32;p=(r|0)==0?A:A+9|0;o=B|2;g=12-d|0;do if(!(d>>>0>11|(g|0)==0)){b=8.0;do{g=g+-1|0;b=b*16.0}while((g|0)!=0);if((i[p>>0]|0)==45){b=-(b+(-q-b));break}else{b=q+b-b;break}}else b=q;while(0);h=k[t>>2]|0;g=(h|0)<0?0-h|0:h;g=al(g,((g|0)<0)<<31>>31,D)|0;if((g|0)==(D|0)){g=m+11|0;i[g>>0]=48}i[g+-1>>0]=(h>>31&2)+43;n=g+-2|0;i[n>>0]=f+15;m=(d|0)<1;j=(e&8|0)==0;g=F;do{C=~~b;h=g+1|0;i[g>>0]=l[21001+C>>0]|r;b=(b-+(C|0))*16.0;if((h-E|0)==1?!(j&(m&b==0.0)):0){i[h>>0]=46;g=g+2|0}else g=h}while(b!=0.0);C=g-E|0;E=D-n|0;D=(d|0)!=0&(C+-2|0)<(d|0)?d+2|0:C;g=E+o+D|0;Wl(a,32,c,g,e);gq(a,p,o);Wl(a,48,c,g,e^65536);gq(a,F,C);Wl(a,48,D-C|0,0,0);gq(a,n,E);Wl(a,32,c,g,e^8192);break}h=(d|0)<0?6:d;if(g){g=(k[t>>2]|0)+-28|0;k[t>>2]=g;b=q*268435456.0}else{b=q;g=k[t>>2]|0}C=(g|0)<0?j:j+288|0;j=C;do{y=~~b>>>0;k[j>>2]=y;j=j+4|0;b=(b-+(y>>>0))*1.0e9}while(b!=0.0);if((g|0)>0){m=C;o=j;while(1){n=(g|0)<29?g:29;g=o+-4|0;if(g>>>0>=m>>>0){j=0;do{x=No(k[g>>2]|0,0,n|0)|0;x=Fp(x|0,M|0,j|0,0)|0;y=M;v=Zn(x|0,y|0,1e9,0)|0;k[g>>2]=v;j=Bq(x|0,y|0,1e9,0)|0;g=g+-4|0}while(g>>>0>=m>>>0);if(j){m=m+-4|0;k[m>>2]=j}}j=o;while(1){if(j>>>0<=m>>>0)break;g=j+-4|0;if(!(k[g>>2]|0))j=g;else break}g=(k[t>>2]|0)-n|0;k[t>>2]=g;if((g|0)>0)o=j;else break}}else m=C;if((g|0)<0){d=((h+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-g|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;g=m;do{y=k[g>>2]|0;k[g>>2]=(y>>>r)+p;p=$(y&n,o)|0;g=g+4|0}while(g>>>0>>0);g=(k[m>>2]|0)==0?m+4|0:m;if(!p){m=g;g=j}else{k[j>>2]=p;m=g;g=j+4|0}}else{m=(k[m>>2]|0)==0?m+4|0:m;g=j}j=s?C:m;j=(g-j>>2|0)>(d|0)?j+(d<<2)|0:g;g=(k[t>>2]|0)+r|0;k[t>>2]=g}while((g|0)<0);g=m;d=j}else{g=m;d=j}y=C;if(g>>>0>>0){j=(y-g>>2)*9|0;n=k[g>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;s=(w|0)==103;v=(h|0)!=0;m=h-((w|0)!=102?j:0)+((v&s)<<31>>31)|0;if((m|0)<(((d-y>>2)*9|0)+-9|0)){m=m+9216|0;r=C+4+(((m|0)/9|0)+-1024<<2)|0;m=((m|0)%9|0)+1|0;if((m|0)<9){n=10;do{n=n*10|0;m=m+1|0}while((m|0)!=9)}else n=10;o=k[r>>2]|0;p=(o>>>0)%(n>>>0)|0;m=(r+4|0)==(d|0);if(!(m&(p|0)==0)){q=(((o>>>0)/(n>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(n|0)/2|0;b=p>>>0>>0?.5:m&(p|0)==(x|0)?1.0:1.5;if(B){x=(i[A>>0]|0)==45;b=x?-b:b;q=x?-q:q}m=o-p|0;k[r>>2]=m;if(q+b!=q){x=m+n|0;k[r>>2]=x;if(x>>>0>999999999){j=r;while(1){m=j+-4|0;k[j>>2]=0;if(m>>>0>>0){g=g+-4|0;k[g>>2]=0}x=(k[m>>2]|0)+1|0;k[m>>2]=x;if(x>>>0>999999999)j=m;else break}}else m=r;j=(y-g>>2)*9|0;o=k[g>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;j=j+1|0}while(o>>>0>=n>>>0)}}else m=r}else m=r;m=m+4|0;m=d>>>0>m>>>0?m:d;x=g}else{m=d;x=g}w=m;while(1){if(w>>>0<=x>>>0){t=0;break}g=w+-4|0;if(!(k[g>>2]|0))w=g;else{t=1;break}}d=0-j|0;do if(s){g=((v^1)&1)+h|0;if((g|0)>(j|0)&(j|0)>-5){n=f+-1|0;h=g+-1-j|0}else{n=f+-2|0;h=g+-1|0}g=e&8;if(!g){if(t?(z=k[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){m=0;g=10;do{g=g*10|0;m=m+1|0}while(!((z>>>0)%(g>>>0)|0|0))}else m=0;else m=9;g=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){r=g-m|0;r=(r|0)>0?r:0;h=(h|0)<(r|0)?h:r;r=0;break}else{r=g+j-m|0;r=(r|0)>0?r:0;h=(h|0)<(r|0)?h:r;r=0;break}}else r=g}else{n=f;r=e&8}while(0);s=h|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;g=(j|0)>0?j:0}else{g=(j|0)<0?d:j;g=al(g,((g|0)<0)<<31>>31,D)|0;m=D;if((m-g|0)<2)do{g=g+-1|0;i[g>>0]=48}while((m-g|0)<2);i[g+-1>>0]=(j>>31&2)+43;g=g+-2|0;i[g>>0]=n;v=g;g=m-g|0}g=B+1+h+o+g|0;Wl(a,32,c,g,e);gq(a,A,B);Wl(a,48,c,g,e^65536);if(p){n=x>>>0>C>>>0?C:x;r=F+9|0;o=r;p=F+8|0;m=n;do{j=al(k[m>>2]|0,0,r)|0;if((m|0)==(n|0)){if((j|0)==(r|0)){i[p>>0]=48;j=p}}else if(j>>>0>F>>>0){_j(F|0,48,j-E|0)|0;do j=j+-1|0;while(j>>>0>F>>>0)}gq(a,j,o-j|0);m=m+4|0}while(m>>>0<=C>>>0);if(s|0)gq(a,21017,1);if(m>>>0>>0&(h|0)>0)while(1){j=al(k[m>>2]|0,0,r)|0;if(j>>>0>F>>>0){_j(F|0,48,j-E|0)|0;do j=j+-1|0;while(j>>>0>F>>>0)}gq(a,j,(h|0)<9?h:9);m=m+4|0;j=h+-9|0;if(!(m>>>0>>0&(h|0)>9)){h=j;break}else h=j}Wl(a,48,h+9|0,9,0)}else{s=t?w:x+4|0;if((h|0)>-1){t=F+9|0;r=(r|0)==0;d=t;o=0-E|0;p=F+8|0;n=x;do{j=al(k[n>>2]|0,0,t)|0;if((j|0)==(t|0)){i[p>>0]=48;j=p}do if((n|0)==(x|0)){m=j+1|0;gq(a,j,1);if(r&(h|0)<1){j=m;break}gq(a,21017,1);j=m}else{if(j>>>0<=F>>>0)break;_j(F|0,48,j+o|0)|0;do j=j+-1|0;while(j>>>0>F>>>0)}while(0);E=d-j|0;gq(a,j,(h|0)>(E|0)?E:h);h=h-E|0;n=n+4|0}while(n>>>0>>0&(h|0)>-1)}Wl(a,48,h+18|0,18,0);gq(a,v,D-v|0)}Wl(a,32,c,g,e^8192)}else{F=(f&32|0)!=0;g=B+3|0;Wl(a,32,c,g,e&-65537);gq(a,A,B);gq(a,b!=b|0.0!=0.0?(F?20993:20997):F?20985:20989,3);Wl(a,32,c,g,e^8192)}while(0);u=G;return ((g|0)<(c|0)?c:g)|0}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,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;w=B;k[a+36>>2]=b;x=a+24|0;y=a+28|0;e=k[y>>2]|0;d=k[x>>2]|0;c=e-d>>2;if(c>>>0>=b>>>0){if(c>>>0>b>>>0?(f=d+(b<<2)|0,(e|0)!=(f|0)):0)k[y>>2]=e+(~((e+-4-f|0)>>>2)<<2)}else Yh(x,b-c|0,4756);k[A>>2]=0;v=A+4|0;k[v>>2]=0;t=A+8|0;k[t>>2]=0;if(b|0){if((b|0)<0)Jq(A);d=((b+-1|0)>>>5)+1|0;s=jo(d<<2)|0;k[A>>2]=s;k[t>>2]=d;k[v>>2]=b;d=b>>>5;_j(s|0,0,d<<2|0)|0;c=b-(d<<5)|0;d=s+(d<<2)|0;if(c|0)k[d>>2]=k[d>>2]&~(-1>>>(32-c|0))}s=a+4|0;c=(k[s>>2]|0)-(k[a>>2]|0)|0;d=c>>2;k[z>>2]=0;e=z+4|0;k[e>>2]=0;f=z+8|0;k[f>>2]=0;if(d){if((c|0)<0)Jq(z);r=((d+-1|0)>>>5)+1|0;g=jo(r<<2)|0;k[z>>2]=g;k[f>>2]=r;k[e>>2]=d;r=d>>>5;_j(g|0,0,r<<2|0)|0;c=d-(r<<5)|0;d=g+(r<<2)|0;if(c)k[d>>2]=k[d>>2]&~(-1>>>(32-c|0))}else g=0;c=k[a>>2]|0;a:do if((k[s>>2]|0)-c>>2>>>0>2){n=a+12|0;o=a+32|0;p=a+52|0;q=a+56|0;r=a+48|0;d=b;m=0;b:while(1){l=m*3|0;if((m|0)>=0){b=k[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)f=-1073741824;else f=k[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=k[c+(e<<2)>>2]|0;if((b|0)!=(f|0)?!((b|0)==(c|0)|(f|0)==(c|0)):0){j=0;do{c=j+l|0;if(!(k[g+(c>>>5<<2)>>2]&1<<(c&31))){f=k[(k[a>>2]|0)+(c<<2)>>2]|0;k[w>>2]=f;e=k[A>>2]|0;if(!(k[e+(f>>>5<<2)>>2]&1<<(f&31))){b=0;i=d;d=f}else{e=k[y>>2]|0;if((e|0)==(k[o>>2]|0))Dj(x,4756);else{k[e>>2]=-1073741824;k[y>>2]=e+4}e=k[p>>2]|0;if((e|0)==(k[q>>2]|0))Dj(r,w);else{k[e>>2]=k[w>>2];k[p>>2]=e+4}e=k[v>>2]|0;f=k[t>>2]|0;if((e|0)==(f<<5|0)){if((e+1|0)<0){Jq(A);f=k[t>>2]|0}i=f<<6;e=e+32&-32;lj(A,f<<5>>>0<1073741823?(i>>>0>>0?e:i):2147483647);e=k[v>>2]|0}k[v>>2]=e+1;h=k[A>>2]|0;b=h+(e>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(e&31));k[w>>2]=d;b=1;i=d+1|0;e=h}h=e+(d>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(d&31);c:do if(b){d=c;while(1){if((d|0)==-1073741824){d=68;break c}g=k[z>>2]|0;e=g+(d>>>5<<2)|0;k[e>>2]=k[e>>2]|1<<(d&31);e=k[w>>2]|0;k[(k[x>>2]|0)+(e<<2)>>2]=d;k[(k[a>>2]|0)+(d<<2)>>2]=e;e=d+1|0;do if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)<0)break;d=k[(k[n>>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}while(0);if((d|0)==(c|0)){d=67;break}}}else{d=c;while(1){if((d|0)==-1073741824){d=68;break c}g=k[z>>2]|0;e=g+(d>>>5<<2)|0;k[e>>2]=k[e>>2]|1<<(d&31);k[(k[x>>2]|0)+(k[w>>2]<<2)>>2]=d;e=d+1|0;do if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)<0)break;d=k[(k[n>>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}while(0);if((d|0)==(c|0)){d=67;break}}}while(0);do if((d|0)==67){d=0;if((c|0)==-1073741824){c=-1073741824;d=74}}else if((d|0)==68)if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=k[(k[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){d=74;break}if(!((c>>>0)%3|0)){c=c+2|0;d=74;break}else{c=c+-1|0;d=74;break}}else d=74}else d=74;while(0);d:do if((d|0)==74){g=k[z>>2]|0;f=g+(c>>>5<<2)|0;d=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=e;while(1){if(c)break b;k[f>>2]=k[f>>2]|d;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=k[(k[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);g=k[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;f=g+(c>>>5<<2)|0;d=1<<(c&31);c=(c|0)<0}}}h=k[a>>2]|0;b=c;while(1){c=h+(b<<2)|0;do{k[f>>2]=k[f>>2]|d;k[c>>2]=k[w>>2]}while(e);c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=k[(k[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);g=k[z>>2]|0;if((c|0)==-1073741824)break;else{b=c;f=g+(c>>>5<<2)|0;d=1<<(c&31);e=(c|0)<0}}}}while(0);d=i}j=j+1|0}while((j|0)<3)}}m=m+1|0;c=k[a>>2]|0;if((m|0)>=(((k[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);i=a+44|0;k[i>>2]=0;c=k[A>>2]|0;b=k[v>>2]|0;y=b>>>5;h=c+(y<<2)|0;b=b&31;d=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;e=0;while(1){f:do if(d){f=0;d=e;while(1){if(!(k[g>>2]&1<>2]=d}if((f|0)==31){e=d;break}else f=f+1|0}}else{f=0;d=e;while(1){if(!(k[g>>2]&1<>2]=d}if((f|0)==31){e=d;break f}f=f+1|0;if(!f)break e}}while(0);g=g+4|0;if((g|0)==(h|0))break e;else d=1}}if(d){d=0;e=0;f=c;do{g=0;while(1){if(!(k[f>>2]&1<>2]=e;d=e}if((g|0)==31)break;else g=g+1|0}f=f+4|0}while((f|0)!=(h|0))}else{f=c;d=0}e=0;do{if(!(k[f>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=k[z>>2]|0;if(d){_r(d);c=k[A>>2]|0}if(!c){u=B;return 1}_r(c);u=B;return 1}function Cb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,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;D=G;A=G+24|0;E=G+8|0;F=G+20|0;k[C>>2]=b;x=(a|0)!=0;y=A+40|0;z=y;A=A+39|0;B=E+4|0;g=0;f=0;n=0;a:while(1){do if((f|0)>-1)if((g|0)>(2147483647-f|0)){f=Lr()|0;k[f>>2]=75;f=-1;break}else{f=g+f|0;break}while(0);g=i[b>>0]|0;if(!(g<<24>>24)){w=87;break}else h=b;b:while(1){switch(g<<24>>24){case 37:{g=h;w=9;break b}case 0:{g=h;break b}default:{}}v=h+1|0;k[C>>2]=v;g=i[v>>0]|0;h=v}c:do if((w|0)==9)while(1){w=0;if((i[h+1>>0]|0)!=37)break c;g=g+1|0;h=h+2|0;k[C>>2]=h;if((i[h>>0]|0)==37)w=9;else break}while(0);g=g-b|0;if(x)gq(a,b,g);if(g|0){b=h;continue}l=h+1|0;g=(i[l>>0]|0)+-48|0;if(g>>>0<10){v=(i[h+2>>0]|0)==36;t=v?g:-1;n=v?1:n;l=v?h+3|0:l}else t=-1;k[C>>2]=l;g=i[l>>0]|0;h=(g<<24>>24)+-32|0;d:do if(h>>>0<32){m=0;o=g;while(1){g=1<>2]=l;g=i[l>>0]|0;h=(g<<24>>24)+-32|0;if(h>>>0>=32)break;else o=g}}else m=0;while(0);if(g<<24>>24==42){h=l+1|0;g=(i[h>>0]|0)+-48|0;if(g>>>0<10?(i[l+2>>0]|0)==36:0){k[e+(g<<2)>>2]=10;g=k[d+((i[h>>0]|0)+-48<<3)>>2]|0;n=1;l=l+3|0}else{if(n|0){f=-1;break}if(x){n=(k[c>>2]|0)+(4-1)&~(4-1);g=k[n>>2]|0;k[c>>2]=n+4;n=0;l=h}else{g=0;n=0;l=h}}k[C>>2]=l;v=(g|0)<0;g=v?0-g|0:g;m=v?m|8192:m}else{g=qn(C)|0;if((g|0)<0){f=-1;break}l=k[C>>2]|0}do if((i[l>>0]|0)==46){if((i[l+1>>0]|0)!=42){k[C>>2]=l+1;h=qn(C)|0;l=k[C>>2]|0;break}o=l+2|0;h=(i[o>>0]|0)+-48|0;if(h>>>0<10?(i[l+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;h=k[d+((i[o>>0]|0)+-48<<3)>>2]|0;l=l+4|0;k[C>>2]=l;break}if(n|0){f=-1;break a}if(x){v=(k[c>>2]|0)+(4-1)&~(4-1);h=k[v>>2]|0;k[c>>2]=v+4}else h=0;k[C>>2]=o;l=o}else h=-1;while(0);s=0;while(1){if(((i[l>>0]|0)+-65|0)>>>0>57){f=-1;break a}v=l+1|0;k[C>>2]=v;o=i[(i[l>>0]|0)+-65+(20485+(s*58|0))>>0]|0;q=o&255;if((q+-1|0)>>>0<8){s=q;l=v}else break}if(!(o<<24>>24)){f=-1;break}r=(t|0)>-1;do if(o<<24>>24==19)if(r){f=-1;break a}else w=49;else{if(r){k[e+(t<<2)>>2]=q;r=d+(t<<3)|0;t=k[r+4>>2]|0;w=D;k[w>>2]=k[r>>2];k[w+4>>2]=t;w=49;break}if(!x){f=0;break a}Uf(D,q,c)}while(0);if((w|0)==49?(w=0,!x):0){g=0;b=v;continue}l=i[l>>0]|0;l=(s|0)!=0&(l&15|0)==3?l&-33:l;r=m&-65537;t=(m&8192|0)==0?m:r;e:do switch(l|0){case 110:switch((s&255)<<24>>24){case 0:{k[k[D>>2]>>2]=f;g=0;b=v;continue a}case 1:{k[k[D>>2]>>2]=f;g=0;b=v;continue a}case 2:{g=k[D>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;b=v;continue a}case 3:{j[k[D>>2]>>1]=f;g=0;b=v;continue a}case 4:{i[k[D>>2]>>0]=f;g=0;b=v;continue a}case 6:{k[k[D>>2]>>2]=f;g=0;b=v;continue a}case 7:{g=k[D>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;b=v;continue a}default:{g=0;b=v;continue a}}case 112:{l=120;h=h>>>0>8?h:8;b=t|8;w=61;break}case 88:case 120:{b=t;w=61;break}case 111:{l=D;b=k[l>>2]|0;l=k[l+4>>2]|0;q=On(b,l,y)|0;r=z-q|0;m=0;o=20949;h=(t&8|0)==0|(h|0)>(r|0)?h:r+1|0;r=t;w=67;break}case 105:case 100:{l=D;b=k[l>>2]|0;l=k[l+4>>2]|0;if((l|0)<0){b=Wo(0,0,b|0,l|0)|0;l=M;m=D;k[m>>2]=b;k[m+4>>2]=l;m=1;o=20949;w=66;break e}else{m=(t&2049|0)!=0&1;o=(t&2048|0)==0?((t&1|0)==0?20949:20951):20950;w=66;break e}}case 117:{l=D;m=0;o=20949;b=k[l>>2]|0;l=k[l+4>>2]|0;w=66;break}case 99:{i[A>>0]=k[D>>2];b=A;m=0;o=20949;q=y;l=1;h=r;break}case 109:{l=Lr()|0;l=lq(k[l>>2]|0)|0;w=71;break}case 115:{l=k[D>>2]|0;l=l|0?l:20959;w=71;break}case 67:{k[E>>2]=k[D>>2];k[B>>2]=0;k[D>>2]=E;q=-1;l=E;w=75;break}case 83:{b=k[D>>2]|0;if(!h){Wl(a,32,g,0,t);b=0;w=84}else{q=h;l=b;w=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{g=Ab(a,+p[D>>3],g,h,t,l)|0;b=v;continue a}default:{m=0;o=20949;q=y;l=h;h=t}}while(0);f:do if((w|0)==61){t=D;s=k[t>>2]|0;t=k[t+4>>2]|0;q=sn(s,t,y,l&32)|0;o=(b&8|0)==0|(s|0)==0&(t|0)==0;m=o?0:2;o=o?20949:20949+(l>>4)|0;r=b;b=s;l=t;w=67}else if((w|0)==66){q=al(b,l,y)|0;r=t;w=67}else if((w|0)==71){w=0;t=hj(l,0,h)|0;s=(t|0)==0;b=l;m=0;o=20949;q=s?l+h|0:t;l=s?h:t-l|0;h=r}else if((w|0)==75){w=0;o=l;b=0;h=0;while(1){m=k[o>>2]|0;if(!m)break;h=mq(F,m)|0;if((h|0)<0|h>>>0>(q-b|0)>>>0)break;b=h+b|0;if(q>>>0>b>>>0)o=o+4|0;else break}if((h|0)<0){f=-1;break a}Wl(a,32,g,b,t);if(!b){b=0;w=84}else{m=0;while(1){h=k[l>>2]|0;if(!h){w=84;break f}h=mq(F,h)|0;m=h+m|0;if((m|0)>(b|0)){w=84;break f}gq(a,F,h);if(m>>>0>=b>>>0){w=84;break}else l=l+4|0}}}while(0);if((w|0)==67){w=0;l=(b|0)!=0|(l|0)!=0;t=(h|0)!=0|l;l=((l^1)&1)+(z-q)|0;b=t?q:y;q=y;l=t?((h|0)>(l|0)?h:l):h;h=(h|0)>-1?r&-65537:r}else if((w|0)==84){w=0;Wl(a,32,g,b,t^8192);g=(g|0)>(b|0)?g:b;b=v;continue}s=q-b|0;r=(l|0)<(s|0)?s:l;t=r+m|0;g=(g|0)<(t|0)?t:g;Wl(a,32,g,t,h);gq(a,o,m);Wl(a,48,g,t,h^65536);Wl(a,48,r,s,0);gq(a,b,s);Wl(a,32,g,t,h^8192);b=v}g:do if((w|0)==87)if(!a)if(!n)f=0;else{f=1;while(1){b=k[e+(f<<2)>>2]|0;if(!b)break;Uf(d+(f<<3)|0,b,c);f=f+1|0;if((f|0)>=10){f=1;break g}}while(1){if(k[e+(f<<2)>>2]|0){f=-1;break g}f=f+1|0;if((f|0)>=10){f=1;break}}}while(0);u=G;return f|0} -function Sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;if((d|0)<=0){e=1;return e|0}e=a+36|0;c=a+48|0;a=0;while(1){f=k[(k[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[k[(k[f>>2]|0)+20>>2]&31](f,c,b)|0)){a=0;c=5;break}if((a|0)>=(d|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Tk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4316;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4340;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[b>>2]|0;if(!c){e=0;return e|0}d=a+44|0;e=k[d>>2]|0;if(e>>>0<(k[a+48>>2]|0)>>>0){k[b>>2]=0;k[e>>2]=c;k[d>>2]=(k[d>>2]|0)+4;e=1;return e|0}else{oh(a+40|0,b);e=1;return e|0}return 0}function Vk(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=d;while(1){if(!(i[a>>0]|0)){a=b;break a}a=a+1|0;b=a;if(!(b&3)){c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function Wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0;if((d|0)<=0){e=1;return e|0}e=a+36|0;c=a+48|0;a=0;while(1){f=k[(k[e>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[k[(k[f>>2]|0)+16>>2]&31](f,c,b)|0)){a=0;c=5;break}if((a|0)>=(d|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Xk(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=k[s>>2]|0;d=k[s+4>>2]|0;e=So(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+Xk(a*18446744073709551616.0,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=(e&2047)+-1022;k[s>>2]=c;k[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function Yk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4408;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4388;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Zk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2356;b=k[a+76>>2]|0;if(b|0)_r(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;d=k[a+32>>2]|0;if(!d){_r(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);_r(a);return}function _k(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((l[21019+d>>0]|0)==(a|0)){a=2;break}c=d+1|0;if((c|0)==87){c=21107;d=87;a=5;break}else d=c}if((a|0)==2)if(!d)c=21107;else{c=21107;a=5}if((a|0)==5)while(1){do{a=c;c=c+1|0}while((i[a>>0]|0)!=0);d=d+-1|0;if(!d)break;else a=5}return ur(c,k[b+20>>2]|0)|0}function $k(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}if(!(k[a+32>>2]|0)){a=0;return a|0}if(!(k[a+36>>2]|0)){a=0;return a|0}if(!(k[a+40>>2]|0)){a=0;return a|0}a=(k[a+68>>2]|0)!=-1;return a|0}function al(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295){while(1){d=Zn(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d&255|48;d=a;a=Bq(a|0,b|0,10,0)|0;if(!(b>>>0>9|(b|0)==9&d>>>0>4294967295))break;else b=M}b=a}else b=a;if(b)while(1){c=c+-1|0;i[c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return c|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0;a=u;u=u+32|0;f=a;e=a+8|0;p[f>>3]=0.0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;Jk(e,c,Vk(c)|0);yi(b,e,f)|0;d=+p[f>>3];Jp(e);u=a;return +d}function cl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4316;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4340;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b)return;_r(b);return}function dl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2020;b=k[a+76>>2]|0;if(b|0)_r(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;d=k[a+32>>2]|0;if(!d){_r(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);_r(a);return}function el(a){a=a|0;if(!(k[a+60>>2]|0)){a=0;return a|0}if(!(k[a+64>>2]|0)){a=0;return a|0}if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}if(!(k[a+56>>2]|0)){a=0;return a|0}a=(k[a+84>>2]|0)!=-1;return a|0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+16|0;e=a+12|0;d=a;k[e>>2]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,c,Vk(c)|0);qk(b,d,e)|0;c=k[e>>2]|0;Jp(d);u=a;return c|0}function gl(a){a=a|0;var b=0,c=0,d=0;d=jo(60)|0;b=d;c=b+60|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));a=ni(d,a)|0;b=a?0:d;if(a){d=a?d:0;return d|0}mk(b);_r(b);d=a?d:0;return d|0}function hl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4408;b=k[a+64>>2]|0;if(b|0){c=a+68|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}k[a+12>>2]=4388;b=k[a+32>>2]|0;if(b|0)_r(b);b=k[a+20>>2]|0;if(!b)return;_r(b);return}function il(a){a=a|0;if(!a)return;Jp(a+28|0);fk(a+12|0,k[a+16>>2]|0);nk(a,k[a+4>>2]|0);_r(a);return}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;Zc(a,b);if((b|0)<=-1)return;f=a+76|0;e=k[f>>2]|0;a=k[a+72>>2]|0;if((e-a>>2|0)<=(b|0))return;c=a+(b<<2)|0;a=c+4|0;b=e-a|0;d=b>>2;if(!d)b=e;else{mn(c|0,a|0,b|0)|0;b=k[f>>2]|0}a=c+(d<<2)|0;if((b|0)==(a|0))return;k[f>>2]=b+(~((b+-4-a|0)>>>2)<<2);return}function kl(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=Wo(j^a|0,i^b|0,j|0,i|0)|0;g=M;a=f^j;b=e^i;return Wo((Dd(h,g,Wo(f^c|0,e^d|0,f|0,e|0)|0,M,0)|0)^a|0,M^b|0,a|0,b|0)|0}function ll(a,b){a=a|0;b=b|0;var c=0,d=0;k[b>>2]=2;d=a+4|0;c=b+8|0;a=k[c>>2]|0;b=(k[b+12>>2]|0)-a|0;if(b>>>0<4294967292){Al(c,b+4|0,0);a=k[c>>2]|0}c=a+b|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[c>>0]=d;i[c+1>>0]=d>>8;i[c+2>>0]=d>>16;i[c+3>>0]=d>>24;return}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+32|0;e=a;d=a+8|0;p[e>>3]=0.0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,c,Vk(c)|0);c=yi(b,d,e)|0;Jp(d);u=a;return c|0}function nl(a){a=a|0;var b=0,c=0;k[a>>2]=2356;b=k[a+76>>2]|0;if(b|0)_r(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=u;u=u+16|0;e=a+12|0;d=a;k[e>>2]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;Jk(d,c,Vk(c)|0);c=qk(b,d,e)|0;Jp(d);u=a;return c|0}function pl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4772;b=k[a+84>>2]|0;if(b|0){c=a+88|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+72>>2]|0;if(!b){Vh(a);_r(a);return}c=a+76|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);Vh(a);_r(a);return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((k[(k[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=k[c+84>>2]|0;if((b|0)>=(((k[c+88>>2]|0)-a|0)/12|0|0))Ka(20431,20341,64,20426);c=k[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=b+16|0;e=k[a>>2]|0;f=b+36|0;g=b+24|0;do if(e){if((e|0)!=(c|0)){k[f>>2]=(k[f>>2]|0)+1;k[g>>2]=2;i[b+54>>0]=1;break}if((k[g>>2]|0)==2)k[g>>2]=d}else{k[a>>2]=c;k[g>>2]=d;k[f>>2]=1}while(0);return}function sl(a){a=a|0;var b=0,c=0;k[a>>2]=2020;b=k[a+76>>2]|0;if(b|0)_r(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function tl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;k[a>>2]=b;i=b+16|0;g=k[i+4>>2]|0;h=a+8|0;k[h>>2]=k[i>>2];k[h+4>>2]=g;h=b+24|0;g=k[h+4>>2]|0;b=a+16|0;k[b>>2]=k[h>>2];k[b+4>>2]=g;b=a+40|0;k[b>>2]=c;k[b+4>>2]=d;d=a+48|0;k[d>>2]=e;k[d+4>>2]=f;return}function ul(a,b,c){a=a|0;b=b|0;c=c|0;if(((l[(k[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Wa[k[(k[a>>2]|0)+52>>2]&255](a)|0):0){c=0;return c|0}c=Ud(a,b,c)|0;return c|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ka(20316,20341,63,20426);d=k[a+84>>2]|0;if((((k[a+88>>2]|0)-d|0)/12|0|0)>(b|0)){d=d+(b*12|0)|0;yg(c,d,d+12|0);return 1}else Ka(20431,20341,64,20426);return 0}function wl(a,b){a=a|0;b=b|0;switch(b<<24>>24){case 0:{a=jo(20)|0;dp(a);break}case 1:{a=jo(24)|0;Ep(a);break}case 2:{a=jo(36)|0;qo(a);break}case 3:{a=jo(28)|0;xp(a);break}default:a=0}return a|0}function xl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=0;c=a+4|0;k[c>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Jq(a);c=Ma(4)|0;Cr(c);wa(c|0,1344,125)}d=b<<2;e=jo(d)|0;k[a>>2]=e;b=e+(b<<2)|0;k[a+8>>2]=b;_j(e|0,0,d|0)|0;k[c>>2]=b;return}function yl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4772;b=k[a+84>>2]|0;if(b|0){c=a+88|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);_r(b)}b=k[a+72>>2]|0;if(!b){Vh(a);return}c=a+76|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);Vh(a);return}function zl(a,b,c){a=a|0;b=b|0;c=c|0;if(!(xo(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,63,20247);a=k[b+8>>2]|0;if(((k[b+12>>2]|0)-a>>2|0)<=(c|0))Ka(20257,20148,64,20247);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Al(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;c=a+4|0;f=k[c>>2]|0;e=k[a>>2]|0;d=f-e|0;if(b>>>0<=d>>>0){if(b>>>0>>0?(g=e+b|0,(f|0)!=(g|0)):0)k[c>>2]=g}else qj(a,b-d|0);g=a+24|0;b=g;b=Fp(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[g>>2]=b;k[g+4>>2]=M;return}function Bl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2412;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Cl(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;Kg(e,a,b,c);c=a+24|0;k[c>>2]=k[e>>2];b=e+4|0;$m(a+28|0,b)|0;Jp(b);u=d;return c|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=k[b+4>>2]|0;if(!a){c=0;return c|0}b=k[a+40>>2]|0;d=k[a+44>>2]|0;a:do if((b|0)==(d|0))a=0;else while(1){a=k[b>>2]|0;b=b+4|0;if((k[a+40>>2]|0)==(c|0))break a;if((b|0)==(d|0)){a=0;break}}while(0);c=a;return c|0}function El(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2076;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0;d=jo(40)|0;k[d>>2]=-1;vo(d+8|0);Ua[k[(k[a>>2]|0)+16>>2]&7](a,d);b=b+88|0;c=k[b>>2]|0;k[b>>2]=d;if(!c)return 1;a=k[c+8>>2]|0;if(a|0){b=c+12|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;_r(a)}_r(c);return 1}function Gl(a){a=a|0;var b=0;k[a>>2]=3128;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Hl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1460;b=k[a+16>>2]|0;if(b|0){c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}b=k[a+4>>2]|0;if(!b){_r(a);return}c=a+8|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Il(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;Lg(e,a,b,c);c=a+24|0;k[c>>2]=k[e>>2];b=e+4|0;$m(a+28|0,b)|0;Jp(b);u=d;return c|0}function Jl(a){a=a|0;var b=0;k[a>>2]=2792;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Kl(a){a=a|0;var b=0;k[a>>2]=3856;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Ll(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(_a[k[(k[d>>2]|0)+16>>2]&127](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function Ml(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(uq(a,k[b+8>>2]|0,f)|0)ak(0,b,c,d,e);else{a=k[a+8>>2]|0;Za[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){e=k[a>>2]|0;f=a+4|0;a=(k[f>>2]|0)+-1|0;k[f>>2]=a;b=l[e+a>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=$(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|0}function Ol(a){a=a|0;var b=0,c=0;k[a>>2]=2412;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Pl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2468;ds(a+100|0);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Ql(a){a=a|0;var b=0,c=0;k[a>>2]=4080;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){ek(a);_r(a);return}Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);_r(a);return}function Rl(a){a=a|0;var b=0;k[a>>2]=3520;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Sl(a){a=a|0;var b=0;k[a>>2]=3128;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function Tl(a){a=a|0;var b=0,c=0;k[a>>2]=2076;b=k[a+76>>2]|0;if(b|0)_r(b);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);_r(c);return}function Ul(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2132;ds(a+100|0);k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Vl(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1460;b=k[a+16>>2]|0;if(b|0){c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);_r(d);return}function Wl(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;_j(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{gq(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}gq(a,f,e)}u=g;return}function Xl(a){a=a|0;var b=0;k[a>>2]=2792;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function Yl(a){a=a|0;var b=0;k[a>>2]=3856;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function Zl(a){a=a|0;var b=0,c=0;k[a>>2]=4080;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Yr(b);k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){ek(a);return}Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);return}function _l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;d=k[b+4>>2]|0;if((c|0)<=-1)Ka(20132,20148,63,20247);b=k[d+8>>2]|0;if(((k[d+12>>2]|0)-b>>2|0)>(c|0)){k[a+8>>2]=k[b+(c<<2)>>2];k[a+12>>2]=c;return 1}else Ka(20257,20148,64,20247);return 0}function $l(a){a=a|0;var b=0;k[a>>2]=3520;b=k[a+80>>2]|0;if(b|0)_r(b);b=k[a+68>>2]|0;if(b|0)_r(b);b=k[a+56>>2]|0;if(b|0)_r(b);b=k[a+44>>2]|0;if(!b)return;_r(b);return}function am(a){a=a|0;var b=0,c=0;k[a>>2]=2468;ds(a+100|0);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function bm(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){b=0;return b|0}c=k[a+4>>2]|0;if(((k[c+12>>2]|0)-(k[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=k[(k[a+8>>2]|0)+(k[(k[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=_a[k[(k[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function cm(a){a=a|0;var b=0;Bn(a);Bn(a+40|0);b=a+80|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;vr(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function dm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=k[a>>2]|0;d=a+4|0;f=k[d>>2]|0;e=c;b=f+(~((f+-4-e|0)>>>2)<<2)|0;if((f|0)==(c|0))b=c;else k[d>>2]=b;k[a+16>>2]=0;k[a+12>>2]=b;if(!c)return;if((b|0)!=(c|0))k[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);_r(c);return}function em(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(uq(a,k[b+8>>2]|0,0)|0)rl(0,b,c,d);else{a=k[a+8>>2]|0;$a[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function fm(a){a=a|0;var b=0,c=0;k[a>>2]=2132;ds(a+100|0);k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function gm(a,b){a=a|0;b=b|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;if((i[b+11>>0]|0)<0)Jk(a,k[b>>2]|0,k[b+4>>2]|0);else{k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2]}return}function hm(a,b){a=a|0;b=b|0;var c=0;c=k[a+4>>2]|0;if(c|0?((l[c+36>>0]|0)<<8&65535)<512:0){c=1;return c|0}c=_a[k[(k[a>>2]|0)+48>>2]&127](a,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0;return c|0}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=u;u=u+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Pp(Ha(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;u=e;return a|0}function jm(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){a=0;return a|0}c=k[a+20+(b*12|0)>>2]|0;if(((k[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}b=k[c>>2]|0;if((b|0)==-1){a=0;return a|0}a=k[(k[a+8>>2]|0)+(b<<2)>>2]|0;return a|0}function km(a,b){a=a|0;b=b|0;var c=0;Qn(a);k[a>>2]=1620;c=a+36|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+60>>2]=c;return}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)a=0;else{while(1){d=i[a>>0]|0;e=i[b>>0]|0;if(d<<24>>24!=e<<24>>24)break;c=c+-1|0;if(!c){a=0;break a}else{a=a+1|0;b=b+1|0}}a=(d&255)-(e&255)|0}while(0);return a|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jk(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){c=0;return c|0}c=Ra[k[(k[a>>2]|0)+32>>2]&31](a,b,c)|0;return c|0}function nm(a,b){a=a|0;b=b|0;var c=0;c=b*3|0;if((b|0)<0){c=0;return c|0}Dg(a,c,4760);Dg(a+12|0,c,4756);Nk(a+24|0,c);c=1;return c|0}function om(a,b){a=a|0;b=b|0;var c=0;c=k[a+16>>2]|0;if(((k[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=k[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}a=Th(k[(k[a+36>>2]|0)+(b<<2)>>2]|0)|0;return a|0}function pm(a){a=a|0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;if(!(k[a+32>>2]|0))return 0;if(!(k[a+36>>2]|0))return 0;else return (k[a+40>>2]|0)!=0|0;return 0}function qm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=a+11|0;c=i[d>>0]|0;if(c<<24>>24<0)e=k[a+4>>2]|0;else e=c&255;if(e>>>0<=b>>>0){Eq(a);c=i[d>>0]|0}if(c<<24>>24<0)a=k[a>>2]|0;return a+b|0}function rm(a){a=a|0;var b=0,c=0;k[a>>2]=3184;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function sm(a){a=a|0;if(!(k[a+60>>2]|0))return 0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+48>>2]|0))return 0;if(!(k[a+52>>2]|0))return 0;else return (k[a+56>>2]|0)!=0|0;return 0}function tm(a){a=a|0;if(!(k[a+28>>2]|0)){a=0;return a|0}if(!(k[a+32>>2]|0)){a=0;return a|0}if(!(k[a+36>>2]|0)){a=0;return a|0}a=(k[a+40>>2]|0)!=0;return a|0}function um(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;c=k[a+44>>2]|0;k[a+28>>2]=c;k[a+20>>2]=c;k[a+16>>2]=c+(k[a+48>>2]|0);a=0}else{k[a>>2]=b|32;a=-1}return a|0}function vm(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[a+88>>2]=0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function wm(a){a=a|0;var b=0,c=0;k[a>>2]=2848;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function xm(a){a=a|0;var b=0,c=0;k[a>>2]=3912;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function ym(a,b){a=a|0;b=b|0;var c=0,d=0;c=i[a>>0]|0;d=i[b>>0]|0;if(c<<24>>24==0?1:c<<24>>24!=d<<24>>24)a=d;else{do{a=a+1|0;b=b+1|0;c=i[a>>0]|0;d=i[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));a=d}return (c&255)-(a&255)|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+32|0;d=e;k[a+36>>2]=17;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21523,k[d+8>>2]=e+16,Ga(54,d|0)|0):0)i[a+75>>0]=-1;d=Kh(a,b,c)|0;u=e;return d|0}function Am(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){nc(a,b,c);return}else{Bc(a,0,0);return}}function Cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=da(e);k[a+4>>2]=b;xg(a+8|0,c,c+(d<<2)|0);o[a+20>>2]=e;return}function Dm(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ia()|0;za(12);return -1}k[r>>2]=a;if((a|0)>(ha()|0)?(ga()|0)==0:0){za(12);k[r>>2]=b;return -1}return b|0}function Em(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;k[e>>2]=0;k[d>>2]=k[e>>2];b=Rb(a,b,d)|0;u=c;return b|0}function Fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=k[c>>2]|0;d=a;c=b-a>>2;while(1){if(!c)break;b=(c|0)/2|0;f=d+(b<<2)|0;a=(k[f>>2]|0)>>>0>>0;d=a?f+4|0:d;c=a?c+-1-b|0:b}return d|0}function Gm(a){a=a|0;var b=0,c=0;k[a>>2]=3576;b=k[a+60>>2]|0;if(b|0)_r(b);c=a+52|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){_r(a);return}Yr(b);_r(a);return}function Hm(a,b){a=a|0;b=b|0;b=k[b+88>>2]|0;if(!b){a=0;return a|0}if((k[b>>2]|0)!=2){a=0;return a|0}b=k[b+8>>2]|0;k[a+4>>2]=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=1;return a|0}function Im(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=$(c,b)|0;c=(b|0)==0?0:c;if((k[d+76>>2]|0)>-1){f=(es(d)|0)==0;a=yj(a,e,d)|0;if(!f)ds(d)}else a=yj(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Jm(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;k[a+60>>2]=0;return}function Km(a,b){a=a|0;b=b|0;if(!(_a[k[(k[a>>2]|0)+36>>2]&127](a,b)|0)){b=0;return b|0}if(!(_a[k[(k[a>>2]|0)+40>>2]&127](a,b)|0)){b=0;return b|0}b=Wa[k[(k[a>>2]|0)+44>>2]&255](a)|0;return b|0}function Lm(a){a=a|0;var b=0;k[a>>2]=3184;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(xo(a,b,c)|0)){c=0;return c|0}a=k[a+8>>2]|0;if((i[a+24>>0]|0)!=3){c=0;return c|0}c=(k[a+28>>2]|0)==9;return c|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(uq(a,k[b+8>>2]|0,f)|0)ak(0,b,c,d,e);return}function Om(a,b){a=a|0;b=b|0;if(((b|0)!=0?(k[b+56>>2]|0)==0:0)?(i[b+24>>0]|0)==3:0){k[a+44>>2]=b;a=1}else a=0;return a|0}function Pm(a){a=a|0;var b=0;k[a>>2]=2848;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Qm(a){a=a|0;var b=0;k[a>>2]=3912;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Rm(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+44>>2]=b;b=1;return b|0}function Sm(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1740;b=k[a+32>>2]|0;if(!b){_r(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function Tm(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;Qh(a+20|0,d,c);u=b;return}function Um(a,b){a=a|0;b=b|0;if(((b|0)!=0?(k[b+56>>2]|0)==0:0)?(i[b+24>>0]|0)==3:0){k[a+60>>2]=b;a=1}else a=0;return a|0}function Vm(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+60>>2]=b;b=1;return b|0}function Wm(a){a=a|0;var b=0;k[a>>2]=3576;b=k[a+60>>2]|0;if(b|0)_r(b);b=a+52|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Yr(a);return}function Xm(){var a=0,b=0;a=jo(40)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;o[a+16>>2]=da(1.0);b=a+20|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;o[a+36>>2]=da(1.0);return a|0}function Ym(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;Qh(a+20|0,d,c);u=b;return}function Zm(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 _m(a){a=a|0;k[a>>2]=4364;Bj(a+8|0);_r(a);return}function $m(a,b){a=a|0;b=b|0;var c=0,d=0;if((a|0)!=(b|0)){c=i[b+11>>0]|0;d=c<<24>>24<0;Qj(a,d?k[b>>2]|0:b,d?k[b+4>>2]|0:c&255)|0}return a|0}function an(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (M=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function bn(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=Fp(k[a+32>>2]|0,0,7,0)|0;c=So(c|0,M|0,3)|0;a=a+16|0;b=a;b=Fp(c|0,M|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=M;return}function cn(a,b){a=a|0;b=b|0;var c=0;a=u;u=u+32|0;c=a;Gj(c,b);b=k[c+16>>2]|0;Jp(c+4|0);u=a;return b|0}function dn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ka(7016,7022,76,7177);return 0}function en(a){a=a|0;k[a>>2]=4364;Bj(a+8|0);return}function fn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[b+44>>2]=e;Sd(a,b,c,d,e);return}function gn(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){c=-1;return c|0}c=k[a+20+(b*12|0)>>2]|0;if(((k[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){c=-1;return c|0}c=k[c>>2]|0;return c|0}function hn(a){a=a|0;var b=0,c=0;k[a>>2]=1740;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(uq(a,k[b+8>>2]|0,0)|0)rl(0,b,c,d);return}function kn(a){a=a|0;var b=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;i[a+24>>0]=1;a=a+28|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function ln(a){a=a|0;var b=0;k[a>>2]=4632;b=a+4|0;k[a+40>>2]=0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;j[b+32>>1]=0;return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else Gh(a,b,c)|0;return a|0}function nn(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=1428;b=k[a+8>>2]|0;if(!b){_r(a);return}c=a+12|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b);_r(a);return}function on(a){a=a|0;var b=0;k[a>>2]=3240;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function pn(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ka(20132,20148,55,20247);c=k[a+8>>2]|0;if(((k[a+12>>2]|0)-c>>2|0)>(b|0))return k[c+(b<<2)>>2]|0;else Ka(20257,20148,56,20247);return 0}function qn(a){a=a|0;var b=0,c=0,d=0;c=k[a>>2]|0;d=(i[c>>0]|0)+-48|0;if(d>>>0<10){b=0;do{b=d+(b*10|0)|0;c=c+1|0;k[a>>2]=c;d=(i[c>>0]|0)+-48|0}while(d>>>0<10)}else b=0;return b|0}function rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=k[a+(d<<2)>>2]|0;k[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!((a|0)==0&(b|0)==0))do{c=c+-1|0;i[c>>0]=l[21001+(a&15)>>0]|0|d;a=So(a|0,b|0,4)|0;b=M}while(!((a|0)==0&(b|0)==0));return c|0}function tn(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;k[d>>2]=k[c>>2];a=Ra[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];u=e;return a&1|0}function un(){var a=0,b=0;a=go()|0;if((a|0?(b=k[a>>2]|0,b|0):0)?(a=b+48|0,(k[a>>2]&-256|0)==1126902528?(k[a+4>>2]|0)==1129074247:0):0)Tp(k[b+12>>2]|0);Tp(dr()|0)}function vn(a){a=a|0;var b=0;k[a>>2]=2904;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function wn(a){a=a|0;var b=0;k[a>>2]=3968;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function xn(a){a=a|0;var b=0;b=i[w+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[w+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[w+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[w+(a>>>24)>>0]|0)+24|0}function yn(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=k[a>>2]|0;if(b|0){c=a+4|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);_r(b)}_r(a);return}function zn(a,b){a=a|0;b=b|0;var c=0;i[b+84>>0]=1;c=k[b+68>>2]|0;a=b+72|0;b=k[a>>2]|0;if((b|0)==(c|0))return 1;k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);return 1}function An(a){a=a|0;var b=0;k[a>>2]=3632;b=k[a+60>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Bn(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;j[a+38>>1]=0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;return}function Cn(a){a=a|0;var b=0,c=0;k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);_r(a);return}function Dn(a){a=a|0;var b=0,c=0;k[a>>2]=1428;c=k[a+8>>2]|0;if(!c)return;a=a+12|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);_r(c);return}function En(a,b){a=a|0;b=b|0;return bj(a+8|0,b)|0}function Fn(a,b,c){a=a|0;b=b|0;c=c|0;Tb(a,b,c);return}function Gn(a){a=a|0;k[a>>2]=3240;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Hn(a){a=a|0;var b=0,c=0;k[a>>2]=1680;c=a+20|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);ek(a);return}function In(a,b){a=a|0;b=b|0;if(!b)return 0;else Ka(11535,11906,61,11546);return 0}function Jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((k[b+4>>2]|0)==(c|0)?(e=b+28|0,(k[e>>2]|0)!=1):0)k[e>>2]=d;return}function Kn(a,b){a=a|0;b=b|0;if(!b)return 0;else Ka(11535,10862,65,11546);return 0}function Ln(a){a=a|0;k[a>>2]=2904;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Mn(a){a=a|0;k[a>>2]=3968;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Nn(a){a=a|0;var b=0;k[a>>2]=4340;b=k[a+20>>2]|0;if(b|0)_r(b);b=k[a+8>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function On(a,b,c){a=a|0;b=b|0;c=c|0;if(!((a|0)==0&(b|0)==0))do{c=c+-1|0;i[c>>0]=a&7|48;a=So(a|0,b|0,3)|0;b=M}while(!((a|0)==0&(b|0)==0));return c|0}function Pn(){var a=0,b=0;a=jo(24)|0;k[a>>2]=1428;k[a+4>>2]=-1;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;return a|0}function Qn(a){a=a|0;k[a>>2]=1460;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=k[d>>2]|0;a=(k[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Gh(e|0,b|0,a|0)|0;k[d>>2]=(k[d>>2]|0)+a;return c|0}function Sn(a,b){a=a|0;b=b|0;if(!b)return 0;else Ka(11535,12252,68,11546);return 0}function Tn(a,b){a=a|0;b=b|0;return ej(a+8|0,b)|0}function Un(a){a=a|0;var b=0;Jm(a);b=a+64|0;k[a+88>>2]=0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;i[b+20>>0]=0;return}function Vn(a){a=a|0;var b=0,c=0;if(!a)return;b=k[a+8>>2]|0;if(b|0){c=a+12|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;_r(b)}_r(a);return}function Wn(a){a=a|0;k[a>>2]=3632;a=k[a+60>>2]|0;if(!a)return;_r(a);return}function Xn(a){a=a|0;var b=0;k[a>>2]=4388;b=k[a+20>>2]|0;if(b|0)_r(b);b=k[a+8>>2]|0;if(!b){_r(a);return}_r(b);_r(a);return}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;j[a+38>>1]=d;d=a+16|0;k[d>>2]=0;k[d+4>>2]=0;return}function Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=u;u=u+16|0;e=f|0;Dd(a,b,c,d,e)|0;u=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function _n(a){a=a|0;k[a>>2]=3296;ds(a+84|0);_r(a);return}function $n(a){a=a|0;var b=0;k[a>>2]=4340;b=k[a+20>>2]|0;if(b|0)_r(b);a=k[a+8>>2]|0;if(!a)return;_r(a);return}function ao(a){a=a|0;Cq(a);k[a+16>>2]=0;k[a+20>>2]=0;k[a+12>>2]=a+16;a=a+24|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function bo(a){a=a|0;Yo(a);k[a>>2]=4772;a=a+72|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function co(a){a=a|0;k[a>>2]=2960;ds(a+84|0);_r(a);return}function eo(a){a=a|0;k[a>>2]=4024;ds(a+84|0);_r(a);return}function fo(a){a=a|0;k[a>>2]=3296;ds(a+84|0);return}function go(){var a=0,b=0;a=u;u=u+16|0;if(!(Ea(24368,3)|0)){b=ua(k[6093]|0)|0;u=a;return b|0}else Po(23518,a);return 0}function ho(a){a=a|0;var b=0;k[a>>2]=4388;b=k[a+20>>2]|0;if(b|0)_r(b);a=k[a+8>>2]|0;if(!a)return;_r(a);return}function io(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=an(e,f)|0;a=M;return (M=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function jo(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=db(b)|0;if(a|0)break;a=br()|0;if(!a){a=0;break}Ya[a&3]()}return a|0}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return md(b,c,d)|0}function lo(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=cs(k[a+60>>2]|0)|0;k[c>>2]=a;a=Pp(ya(6,c|0)|0)|0;u=b;return a|0}function mo(a){a=a|0;k[a>>2]=3688;ds(a+84|0);_r(a);return}function no(a){a=a|0;var b=0;b=u;u=u+16|0;Db(a);if(!(va(k[6093]|0,0)|0)){u=b;return}else Po(23617,b)}function oo(a){a=a|0;k[a>>2]=2960;ds(a+84|0);return}function po(a){a=a|0;k[a>>2]=4024;ds(a+84|0);return}function qo(a){a=a|0;Ep(a);k[a>>2]=4080;k[a+24>>2]=-1;k[a+28>>2]=0;o[a+32>>2]=da(0.0);return}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zd(b,c,d)|0}function so(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;c=a+16|0;k[c>>2]=0;k[c+4>>2]=0;return}function to(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((k[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function uo(a){a=a|0;k[a>>2]=3688;ds(a+84|0);return}function vo(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function wo(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function xo(a,b,c){a=a|0;b=b|0;c=c|0;return _l(a,b,c)|0}function yo(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 Va[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>c;return a>>>c|(b&(1<>c-32|0}function Ao(a,b,c){a=a|0;b=b|0;c=c|0;return gn(b,c)|0}function Bo(a){a=a|0;he(a);_r(a);return}function Co(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;k[e>>2]=c;c=Wq(a,b,e)|0;u=d;return c|0}function Do(a,b,c){a=a|0;b=da(b);c=c|0;var d=Pa;d=da(da(1.0)/da(c|0));o[a+4>>2]=d;o[a>>2]=b;return}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xj(b,c,d)|0}function Fo(){var a=0;a=u;u=u+16|0;if(!(Ca(24372,127)|0)){u=a;return}else Po(23567,a)}function Go(a){a=a|0;kf(a);_r(a);return}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;k[d>>2]=b;b=ji(k[1308]|0,a,d)|0;u=c;return b|0}function Io(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;Za[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Jo(a){a=a|0;if(!(k[a+44>>2]|0))return 0;else return Wa[k[(k[a>>2]|0)+48>>2]&255](a)|0;return 0}function Ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vh(b,c,d)|0}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)_j(a|0,(xr(c)|0)&255|0,b|0)|0;return a|0}function Mo(a){a=a|0;return 4}function No(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b<>>32-c;return a<>2]|0;return _a[k[(k[a>>2]|0)+16>>2]&127](a,b)|0}function Po(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;k[c>>2]=b;b=k[1276]|0;ji(b,a,c)|0;Ck(10,b)|0;Aa()}function Qo(a,b){a=a|0;b=b|0;a=k[a+48>>2]|0;return _a[k[(k[a>>2]|0)+12>>2]&127](a,b)|0}function Ro(a,b){a=a|0;b=b|0;a=k[a+48>>2]|0;return _a[k[(k[a>>2]|0)+20>>2]&127](a,b)|0}function So(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>>c;return a>>>c|(b&(1<>>c-32|0}function To(a,b,c){a=a|0;b=b|0;c=c|0;return Cl(a,b,c)|0}function Uo(a){a=a|0;Ee(a);_r(a);return}function Vo(){}function Wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (M=d,a-c>>>0|0)|0}function Xo(a){a=a|0;return 5}function Yo(a){a=a|0;var b=0;k[a>>2]=4812;a=a+4|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Zo(a){a=a|0;return 6}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vl(b,c,d)|0}function $o(a,b,c){a=a|0;b=b|0;c=c|0;k[a+28>>2]=b;k[a+32>>2]=c;return 1}function ap(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ai(k[b>>2]|0,k[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;return Ao(a,b,c)|0}function cp(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(b,c)|0}function dp(a){a=a|0;k[a>>2]=1572;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;k[a+16>>2]=0;return}function ep(a,b){a=a|0;b=b|0;Rk(a,b);return}function fp(a){a=a|0;if(!a)return;Jp(a+4|0);_r(a);return}function gp(a){a=a|0;a=a+4|0;if((i[a+11>>0]|0)<0){a=k[a>>2]|0;return a|0}else return a|0;return 0}function hp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sa[a&3](b|0,c|0,d|0,e|0,f|0)}function ip(a,b,c){a=a|0;b=b|0;c=c|0;return Il(a,b,c)|0}function jp(a,b,c){a=a|0;b=b|0;c=c|0;return Gk(a,b,c)|0}function kp(a,b,c){a=a|0;b=b|0;c=c|0;return ml(a,b,c)|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;return zk(a,b,c)|0}function mp(a,b,c){a=a|0;b=b|0;c=c|0;return +(+bl(a,b,c))}function np(a){a=a|0;a=k[a+48>>2]|0;return Wa[k[(k[a>>2]|0)+28>>2]&255](a)|0}function op(a,b){a=a|0;b=b|0;return _a[k[(k[a>>2]|0)+12>>2]&127](a,b)|0}function pp(a,b){a=a|0;b=b|0;return _a[k[(k[a>>2]|0)+56>>2]&127](a,b)|0}function qp(a){a=a|0;a=k[a+48>>2]|0;return Wa[k[(k[a>>2]|0)+24>>2]&255](a)|0}function rp(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function sp(a,b,c){a=a|0;b=b|0;c=c|0;return Dl(a,b,c)|0}function tp(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function up(a){a=a|0;a=k[a+48>>2]|0;return Wa[k[(k[a>>2]|0)+36>>2]&255](a)|0}function vp(a,b,c){a=a|0;b=b|0;c=c|0;return ol(a,b,c)|0}function wp(a,b,c){a=a|0;b=b|0;c=c|0;return fl(a,b,c)|0}function xp(a){a=a|0;Ep(a);k[a>>2]=2524;k[a+24>>2]=-1;return}function yp(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function zp(a,b,c){a=a|0;b=b|0;c=c|0;return dk(b,c)|0}function Ap(a){a=+a;var b=0;p[s>>3]=a;b=k[s>>2]|0;M=k[s+4>>2]|0;return b|0}function Bp(a){a=a|0;k[a+12>>2]=0;k[a+16>>2]=0;k[a>>2]=0;o[a+4>>2]=da(0.0);return}function Cp(){var a=0;a=jo(40)|0;k[a>>2]=-1;vo(a+8|0);return a|0}function Dp(){var a=0;a=jo(8)|0;k[a>>2]=1400;k[a+4>>2]=-1;return a|0}function Ep(a){a=a|0;dp(a);k[a>>2]=1680;k[a+20>>2]=0;return}function Fp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (M=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Gp(a,b){a=a|0;b=b|0;ep(a,b);return}function Hp(a,b){a=a|0;b=b|0;return da(o[(k[a+8>>2]|0)+(b<<2)>>2])}function Ip(a,b){a=a|0;b=b|0;return cn(a,b)|0}function Jp(a){a=a|0;if((i[a+11>>0]|0)<0)_r(k[a>>2]|0);return}function Kp(a){a=a|0;if(!a)return;Ta[k[(k[a>>2]|0)+4>>2]&127](a);return}function Lp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$a[a&3](b|0,c|0,d|0,e|0)}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)mn(a|0,b|0,c|0)|0;return a|0}function Np(a){a=a|0;var b=0;b=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Op(a,b,c){a=a|0;b=b|0;c=c|0;return pn(b,c)|0}function Pp(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Lr()|0;k[b>>2]=0-a;a=-1}return a|0}function Qp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Gh(a|0,b|0,c|0)|0;return a|0}function Rp(a,b){a=a|0;b=b|0;return -1}function Sp(a){a=a|0;if(!a)a=0;else a=(mi(a,1304,1376,0)|0)!=0;return a&1|0}function Tp(a){a=a|0;var b=0;b=u;u=u+16|0;Ya[a&3]();Po(23670,b)}function Up(a){a=a|0;Zi(a);_r(a);return}function Vp(a){a=a|0;bq(a);k[a>>2]=4208;k[a+48>>2]=0;return}function Wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&31](b|0,c|0,d|0)|0}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;so(a,b,c);return}function Yp(a){a=a|0;if(!a)return;ds(a+24|0);_r(a);return}function Zp(a,b){a=a|0;b=b|0;return k[(k[a+4>>2]|0)+(b<<2)>>2]|0}function _p(){var a=0;a=jo(64)|0;Jm(a);return a|0}function $p(a,b){a=a|0;b=b|0;return da(fq(a,b))}function aq(a){a=a|0;return k[a+8>>2]|0}function bq(a){a=a|0;ln(a);k[a>>2]=4148;k[a+44>>2]=0;return}function cq(a){a=a|0;if(!a)return;Ij(a);_r(a);return}function dq(a,b){a=a|0;b=b|0;return Qq(a,b)|0}function eq(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function fq(a,b){a=a|0;b=b|0;return da(o[(k[a>>2]|0)+(b<<2)>>2])}function gq(a,b,c){a=a|0;b=b|0;c=c|0;if(!(k[a>>2]&32))yj(b,c,a)|0;return}function hq(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function iq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&7](b|0,c|0,d|0)}function jq(){var a=0;a=jo(96)|0;Un(a);return a|0}function kq(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function lq(a){a=a|0;var b=0;b=(Ur()|0)+188|0;return _k(a,k[b>>2]|0)|0}function mq(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ej(a,b,0)|0;return a|0}function nq(a){a=a|0;return ((k[a+88>>2]|0)-(k[a+84>>2]|0)|0)/12|0|0}function oq(){var a=0;a=jo(12)|0;Gq(a);return a|0}function pq(){var a=0;a=jo(40)|0;Bn(a);return a|0}function qq(a,b){a=a|0;b=b|0;return yq(a,b)|0}function rq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(4);return 0}function sq(a){a=a|0;ek(a);_r(a);return}function tq(a){a=a|0;o[a>>2]=da(1.0);o[a+4>>2]=da(1.0);return}function uq(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function vq(a){a=a|0;Qn(a);k[a>>2]=1516;return}function wq(a,b){a=a|0;b=b|0;var c=0;c=Lq(a|0)|0;return ((b|0)==0?a:c)|0}function xq(a){a=a|0;return (k[a+12>>2]|0)-(k[a+8>>2]|0)>>2|0}function yq(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function zq(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return}function Aq(a,b){a=a|0;b=b|0;return 1}function Bq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Dd(a,b,c,d,0)|0}function Cq(a){a=a|0;k[a+4>>2]=0;k[a+8>>2]=0;k[a>>2]=a+4;return}function Dq(){var a=0;a=jo(72)|0;Yo(a);return a|0}function Eq(a){a=a|0;Ka(23193,23079,1194,23222)}function Fq(a){a=a|0;Ka(23050,23079,1183,23172)}function Gq(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Hq(a){a=a|0;return (k[a+4>>2]|0)-(k[a>>2]|0)>>2|0}function Iq(a){a=a|0;Ka(23027,22934,315,23222)}function Jq(a){a=a|0;Ka(22911,22934,304,23172)}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&127](b|0,c|0)|0}function Lq(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Mq(a){a=a|0;bq(a);k[a>>2]=4548;return}function Nq(){var a=0;a=jo(1)|0;ds(a);return a|0}function Oq(a,b){a=a|0;b=b|0;i[a>>0]=i[b>>0]|0;return}function Pq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(8)}function Qq(a,b){a=a|0;b=b|0;return k[b+4>>2]|0}function Rq(a){a=a|0;return da(o[a+20>>2])}function Sq(a){a=a|0;return k[a+4>>2]|0}function Tq(a){a=a|0;if(!a)return;_r(a);return}function Uq(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Vq(a){a=a|0;return 3}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;return Nj(a,2147483647,b,c)|0}function Xq(a){a=a|0;return k[a+88>>2]|0}function Yq(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function Zq(){var a=0;a=jo(40)|0;ao(a);return a|0}function _q(){var a=0;a=jo(96)|0;bo(a);return a|0}function $q(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function ar(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ea(1)}function br(){var a=0;a=k[6094]|0;k[6094]=a+0;return a|0}function cr(a){a=a|0;return k[a+56>>2]|0}function dr(){var a=0;a=k[1467]|0;k[1467]=a+0;return a|0}function er(a){a=a|0;Vh(a);_r(a);return}function fr(a){a=a|0;return i[a+24>>0]|0}function gr(a,b){a=a|0;b=b|0;return 0}function hr(a){a=a|0;return k[a+40>>2]|0}function ir(a){a=a|0;return k[a+48>>2]|0}function jr(a,b){a=a|0;b=b|0;return Wa[a&255](b|0)|0}function kr(a){a=a|0;return k[a+60>>2]|0}function lr(a){a=a|0;return k[a+28>>2]|0}function mr(a){a=a|0;Ba(a|0)|0;un()}function nr(a){a=a|0;return k[a+80>>2]|0}function or(a,b){a=a|0;b=b|0;u=a;v=b}function pr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ea(10)}function qr(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function rr(a){a=a|0;return (k[a>>2]|0)==0|0}function sr(a){a=a|0;return k[a+68>>2]|0}function tr(a,b){a=a|0;b=b|0;Ta[a&127](b|0)}function ur(a,b){a=a|0;b=b|0;return ap(a,b)|0}function vr(a){a=a|0;i[a+12>>0]=0;return}function wr(a){a=a|0;ds(a);_r(a);return}function xr(a){a=a|0;return a&255|0}function yr(a){a=a|0;k[a>>2]=0;return}function zr(a,b,c){a=a|0;b=b|0;c=c|0;ea(0);return 0}function Ar(a){a=a|0;return k[a>>2]|0}function Br(a){a=a|0;return 2}function Cr(a){a=a|0;k[a>>2]=5964;return}function Dr(a){a=a|0;return 1}function Er(a,b){a=+a;b=b|0;return +(+Xk(a,b))}function Fr(){return 3}function Gr(a,b,c){a=a|0;b=b|0;c=c|0;ea(6)}function Hr(){return -4}function Ir(){return 4}function Jr(){return -3}function Kr(){return 1}function Lr(){return (Ur()|0)+64|0}function Mr(){return 2}function Nr(){return -5}function Or(a,b){a=a|0;b=b|0;ea(9);return 0}function Pr(a){a=a|0;return 23710}function Qr(a){a=a|0;Ya[a&3]()}function Rr(){return -2}function Sr(){La()}function Tr(){return -1}function Ur(){return is()|0}function Vr(a,b){a=a|0;b=b|0;ea(3)}function Wr(){return 0}function Xr(a){a=a|0;return jo(a)|0}function Yr(a){a=a|0;_r(a);return}function Zr(a){a=a|0;u=a}function _r(a){a=a|0;Db(a);return}function $r(a){a=a|0;M=a}function as(){return 23808}function bs(a){a=a|0;ea(5);return 0}function cs(a){a=a|0;return a|0}function ds(a){a=a|0;return}function es(a){a=a|0;return 0}function fs(){return M|0}function gs(){return u|0}function hs(a){a=a|0;ea(2)}function is(){return 4860}function js(){ea(7)} +function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;a=(h[a>>0]|h[a+1>>0]<<8)<<16>>16;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<16>>16;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=Do(Ro(j|0,i|0,48)|0,I|0,48)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;g=Do(0,j|0,48)|0;a=d+8|0;f[a>>2]=g;f[a+4>>2]=I;a=Do(Ro(j|0,i|0,16)|0,I|0,48)|0;g=d+16|0;f[g>>2]=a;f[g+4>>2]=I;i=Do(j|0,i|0,48)|0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}e=c+e|0;a=e+4|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;g=e+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=e+12|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=a;f[j+4>>2]=0;j=d+16|0;f[j>>2]=g;f[j+4>>2]=0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Sc(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;t=u;u=u+16|0;i=t+4|0;s=t;if(!(te(a,c)|0)){s=0;u=t;return s|0}p=f[a+88>>2]|0;p=(Sa[f[(f[p>>2]|0)+32>>2]&255](p)|0)+36|0;if(((h[p>>0]|0)<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;e=j;d=f[e>>2]|0;e=Kp(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0>>0)d=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[i>>2]=d;k=j;f[k>>2]=e;f[k+4>>2]=g;k=7}}else if(rk(i,c)|0){d=f[i>>2]|0;k=7}else d=0;if((k|0)==7){k=a+96|0;i=(f[k>>2]|0)+d|0;f[k>>2]=i;k=a+100|0;f[s>>2]=0;g=a+104|0;e=f[g>>2]|0;d=f[k>>2]|0;j=e-d>>2;if(i>>>0<=j>>>0){if(i>>>0>>0?(l=d+(i<<2)|0,(e|0)!=(l|0)):0)f[g>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else Xh(k,i-j|0,s);p=c+8|0;o=f[p+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if((o|0)>(e|0)|((o|0)==(e|0)?(f[p>>2]|0)>>>0>d>>>0:0)?(p=b[(f[c>>2]|0)+d>>0]|0,n=Kp(d|0,e|0,1,0)|0,o=g,f[o>>2]=n,f[o+4>>2]=I,p<<24>>24==0):0){f[a+120>>2]=2;f[a+124>>2]=7;p=a+128|0;o=a+132|0;e=f[o>>2]|0;g=f[p>>2]|0;j=e-g|0;i=(j|0)/12|0;d=e;if(i>>>0>=6){if((j|0)!=72?(m=g+72|0,(d|0)!=(m|0)):0){do{e=d+-12|0;f[o>>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);ds(g);d=f[o>>2]|0}}while((d|0)!=(m|0));e=d}}else{yg(p,6-i|0);e=f[o>>2]|0}n=a+140|0;d=f[p>>2]|0;l=(e-d|0)/12|0;j=a+144|0;i=f[j>>2]|0;g=f[n>>2]|0;k=i-g>>2;if(l>>>0<=k>>>0){if(l>>>0>>0?(q=g+(l<<2)|0,(i|0)!=(q|0)):0)f[j>>2]=i+(~((i+-4-q|0)>>>2)<<2)}else{mj(n,l-k|0);e=f[o>>2]|0;d=f[p>>2]|0}if((e|0)==(d|0))d=1;else{m=0;do{rk(s,c)|0;d=f[s>>2]|0;if(d|0){e=f[p>>2]|0;k=e+(m*12|0)|0;j=e+(m*12|0)+4|0;i=f[j>>2]|0;g=f[k>>2]|0;l=i-g>>2;if(d>>>0<=l>>>0){if(d>>>0>>0?(r=g+(d<<2)|0,(i|0)!=(r|0)):0)f[j>>2]=i+(~((i+-4-r|0)>>>2)<<2)}else{mj(k,d-l|0);e=f[p>>2]|0;d=f[s>>2]|0}Sj(d,1,c,f[e+(m*12|0)>>2]|0)|0;f[(f[n>>2]|0)+(m<<2)>>2]=f[s>>2]}m=m+1|0}while(m>>>0<(((f[o>>2]|0)-(f[p>>2]|0)|0)/12|0)>>>0);d=1}}else d=0}s=d;u=t;return s|0}function Tc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if(!((k|0)<0|((k|0)==0?c>>>0<((f[j+4>>2]|0)-g|0)>>>0:0))){k=0;return k|0}e=$(b[g+c>>0]|0);i=$(e/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;k=1;return k|0}case 2:{l=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,2,0)|0;l=I;k=f[a>>2]|0;g=f[k>>2]|0;if((l|0)>0|((l|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<24>>24)}else{e=$(e/$(127.0));n[d>>2]=e;e=$($(c<<24>>24)/$(127.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,3,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<24>>24);e=$(g<<24>>24)}else{i=$(e/$(127.0));n[d>>2]=i;i=$($(c<<24>>24)/$(127.0));e=$($(g<<24>>24)/$(127.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;j=l>>>24&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<24>>24);n[d+4>>2]=i;i=$(g<<24>>24);n[d+8>>2]=i;i=$(j<<24>>24);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(127.0));n[d>>2]=i;i=$($(c<<24>>24)/$(127.0));n[d+4>>2]=i;i=$($(g<<24>>24)/$(127.0));n[d+8>>2]=i;i=$($(j<<24>>24)/$(127.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Uc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;l=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);g=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}c=e+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=Do(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=Do(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;l=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);g=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}c=e+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if(!((k|0)<0|((k|0)==0?c>>>0<((f[j+4>>2]|0)-g|0)>>>0:0))){k=0;return k|0}e=$(h[g+c>>0]|0);i=$(e/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;k=1;return k|0}case 2:{l=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,2,0)|0;l=I;k=f[a>>2]|0;g=f[k>>2]|0;if((l|0)>0|((l|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&255)}else{e=$(e/$(255.0));n[d>>2]=e;e=$($(c&255)/$(255.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,3,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&255);e=$(g&255)}else{i=$(e/$(255.0));n[d>>2]=i;i=$($(c&255)/$(255.0));e=$($(g&255)/$(255.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;j=l>>>24&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&255);n[d+4>>2]=i;i=$(g&255);n[d+8>>2]=i;i=$(j&255);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(255.0));n[d>>2]=i;i=$($(c&255)/$(255.0));n[d+4>>2]=i;i=$($(g&255)/$(255.0));n[d+8>>2]=i;i=$($(j&255)/$(255.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Yc(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)ds(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}q=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)ds(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 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;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)ds(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}p=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)ds(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 _c(a,c){a=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)ds(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}q=no(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)ds(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 $c(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);e=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$((k&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;j=c;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;c=c+4|0;k=(b[a+32>>0]|0)==0;c=(Wo(j|0,h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24|0,16)|0)&65535;e=$((j&65535)<<16>>16);if(k){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;g=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-g|0)>>>0:0))){j=0;return j|0}k=$(b[g+c>>0]|0);e=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:e;j=d+4|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<24>>24)}else{e=$(e/$(127.0));n[d>>2]=e;e=$($(c<<24>>24)/$(127.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c<<24>>24);n[d+4>>2]=k;k=$(g<<24>>24);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;k=$($(g<<24>>24)/$(127.0));n[d+8>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c<<24>>24);n[d+4>>2]=k;k=$(g<<24>>24);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;k=$($(g<<24>>24)/$(127.0));n[d+8>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function bd(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;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];l=$(n[s>>2]);j=j+4|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~l;f[d+4>>2]=~~k;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);j=j+4|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];l=$(n[s>>2]);f[d>>2]=~~k;f[d+4>>2]=~~l;j=1;return j|0}default:{j=0;return j|0}}return 0}function cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)&65535);e=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$(k&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;j=c;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;c=c+4|0;k=(b[a+32>>0]|0)==0;c=(Wo(j|0,h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24|0,16)|0)&65535;e=$(j&65535);if(k){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;a=(h[a>>0]|h[a+1>>0]<<8)<<16>>16;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<16>>16;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=Do(Ro(j|0,i|0,48)|0,I|0,48)|0;a=d;f[a>>2]=g;f[a+4>>2]=I;a=Do(0,j|0,48)|0;g=d+8|0;f[g>>2]=a;f[g+4>>2]=I;i=Do(Ro(j|0,i|0,16)|0,I|0,48)|0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function ed(a,c,d){a=a|0;c=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]&255](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;kh(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=Kp(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=Kp(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(bn(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=Kp(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{Fh(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=Kp(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=_o(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=Kp(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){Fh(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=Kp(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(Sj(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]&255](e)|0:0){h=1;break}wn(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]&63](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;j=(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;g=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-g|0)>>>0:0))){j=0;return j|0}k=$(h[g+c>>0]|0);e=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:e;j=d+4|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&255)}else{e=$(e/$(255.0));n[d>>2]=e;e=$($(c&255)/$(255.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c&255);n[d+4>>2]=k;k=$(g&255);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;k=$($(g&255)/$(255.0));n[d+8>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c&255);n[d+4>>2]=k;k=$(g&255);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;k=$($(g&255)/$(255.0));n[d+8>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[a>>0]|h[a+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=d;f[a>>2]=j&65535;f[a+4>>2]=0;a=Wo(j|0,i|0,16)|0;g=d+8|0;f[g>>2]=a&65535;f[g+4>>2]=0;g=d+16|0;f[g>>2]=i&65535;f[g+4>>2]=0;i=Wo(j|0,i|0,48)|0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 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,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+48|0;s=w+32|0;o=w+28|0;p=w+24|0;q=w+20|0;r=w+16|0;v=w;t=c+24|0;k=b[t>>0]|0;m=k<<24>>24;n=f[a+80>>2]|0;h=X(n,m)|0;f[v>>2]=f[1289];f[v+4>>2]=f[1290];f[v+8>>2]=f[1291];f[v+12>>2]=f[1292];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 mj(d,h-i|0);if((n|0)<=0){v=1;u=w;return v|0}l=c+84|0;j=c+68|0;a:do if(k<<24>>24>0){h=0;i=0;while(1){if(!(b[l>>0]|0))a=f[(f[j>>2]|0)+(i<<2)>>2]|0;else a=i;switch(b[t>>0]|0){case 1:{f[o>>2]=a;f[s>>2]=f[o>>2];a=hg(c,s,v)|0;break}case 2:{f[p>>2]=a;f[s>>2]=f[p>>2];a=gg(c,s,v)|0;break}case 3:{f[q>>2]=a;f[s>>2]=f[q>>2];a=fg(c,s,v)|0;break}case 4:{f[r>>2]=a;f[s>>2]=f[r>>2];a=eg(c,s,v)|0;break}default:break a}if(!a){a=0;e=29;break}a=f[d>>2]|0;e=h;g=0;while(1){f[a+(e<<2)>>2]=f[v+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}i=i+1|0;if((i|0)>=(n|0)){a=1;e=29;break}else h=m+h|0}if((e|0)==29){u=w;return a|0}}else{e=0;while(1){if(!(b[l>>0]|0))a=f[(f[j>>2]|0)+(e<<2)>>2]|0;else a=e;switch(b[t>>0]|0){case 1:{f[o>>2]=a;f[s>>2]=f[o>>2];a=hg(c,s,v)|0;break}case 2:{f[p>>2]=a;f[s>>2]=f[p>>2];a=gg(c,s,v)|0;break}case 3:{f[q>>2]=a;f[s>>2]=f[q>>2];a=fg(c,s,v)|0;break}case 4:{f[r>>2]=a;f[s>>2]=f[r>>2];a=eg(c,s,v)|0;break}default:break a}if(!a){a=0;e=29;break}e=e+1|0;if((e|0)>=(n|0)){a=1;e=29;break}}if((e|0)==29){u=w;return a|0}}while(0);v=0;u=w;return v|0}function kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;a=b[a>>0]|0;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=(i>>>8&255)<<24>>24;g=d+8|0;f[g>>2]=j;f[g+4>>2]=((j|0)<0)<<31>>31;g=(i>>>16&255)<<24>>24;j=d+16|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>24&255)<<24>>24;j=d+24|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function ld(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(qe(E,d)|0?bf(E,d)|0:0){g=(a|0)>0;b:do if(g){if(!(f[E+12>>2]|0)){k=0;break a}Nh(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(21773,21677,156,21765)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}Ga(21662,21677,155,21765)}}}else Nh(d,0,0)|0;while(0);gn(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);ds(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);ds(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);ds(j);u=F;return k|0}function md(a,b,c,d,e,g){a=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=e>>>0>1073741823?-1:e<<2;t=as(x)|0;_j(t|0,0,x|0)|0;u=as(x)|0;_j(u|0,0,x|0)|0;x=a+8|0;$i(x,t,b,c);s=f[a+32>>2]|0;v=a+40|0;h=f[v>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;w=r>>2;if((r|0)<=4){bs(u);bs(t);return 1}n=f[a+36>>2]|0;q=(e|0)>0;r=s+64|0;p=s+28|0;o=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){Oq(h);d=f[h>>2]|0}m=f[d+(a<<2)>>2]|0;if(q)_j(t|0,0,o|0)|0;if((m|0)>-1){l=f[s>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(B=f[(f[(f[r>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(B|0)>=0):0)?(A=f[p>>2]|0,i=f[n>>2]|0,y=f[i+(f[A+(B<<2)>>2]<<2)>>2]|0,z=B+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?B+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(y|0)<(a|0)&(z|0)<(a|0)&(A|0)<(a|0)):0){g=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(q){d=0;do{f[u+(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(q){d=0;do{i=t+(d<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[u+(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[r>>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)==(m|0)?-1073741824:d}while((k|0)>-1);d=X(a,e)|0;if(!j)C=29;else{if(q){g=0;do{m=t+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(j|0)|0;g=g+1|0}while((g|0)!=(e|0))}$i(x,t,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;C=29}if((C|0)==29){C=0;$i(x,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(w|0))break;d=f[v>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}bs(u);bs(t);return 1}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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=e>>>0>1073741823?-1:e<<2;u=as(y)|0;_j(u|0,0,y|0)|0;v=as(y)|0;_j(v|0,0,y|0)|0;y=a+8|0;$i(y,u,b,c);t=f[a+32>>2]|0;w=a+40|0;h=f[w>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;x=s>>2;if((s|0)<=4){bs(v);bs(u);return 1}p=f[a+36>>2]|0;s=(e|0)>0;r=t+12|0;q=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){Oq(h);d=f[h>>2]|0}o=f[d+(a<<2)>>2]|0;if(s)_j(u|0,0,q|0)|0;if((o|0)>-1){n=f[r>>2]|0;m=o;l=0;while(1){g=f[n+(m<<2)>>2]|0;if((g|0)>=0){h=f[t>>2]|0;i=f[p>>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)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(s){d=0;do{f[v+(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(s){d=0;do{k=u+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[v+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=f[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d;if((m|0)<=-1)break;else l=h}d=X(a,e)|0;if(!h)z=31;else{if(s){g=0;do{o=u+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}$i(y,u,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;z=31}if((z|0)==31){z=0;$i(y,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(x|0))break;d=f[w>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}bs(v);bs(u);return 1}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,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)ds(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}s=no(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)ds(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?nm(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 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,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)ds(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}p=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)ds(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 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;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)ds(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}o=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)ds(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 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;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)ds(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}p=no(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)ds(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 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,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=e>>>0>1073741823?-1:e<<2;t=as(x)|0;_j(t|0,0,x|0)|0;u=as(x)|0;_j(u|0,0,x|0)|0;x=a+8|0;dj(x,t,b,c);s=f[a+32>>2]|0;v=a+40|0;h=f[v>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;w=r>>2;if((r|0)<=4){bs(u);bs(t);return 1}n=f[a+36>>2]|0;q=(e|0)>0;r=s+64|0;p=s+28|0;o=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){Oq(h);d=f[h>>2]|0}m=f[d+(a<<2)>>2]|0;if(q)_j(t|0,0,o|0)|0;if((m|0)>-1){l=f[s>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(B=f[(f[(f[r>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(B|0)>=0):0)?(A=f[p>>2]|0,i=f[n>>2]|0,y=f[i+(f[A+(B<<2)>>2]<<2)>>2]|0,z=B+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?B+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(y|0)<(a|0)&(z|0)<(a|0)&(A|0)<(a|0)):0){g=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(q){d=0;do{f[u+(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(q){d=0;do{i=t+(d<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[u+(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[r>>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)==(m|0)?-1073741824:d}while((k|0)>-1);d=X(a,e)|0;if(!j)C=29;else{if(q){g=0;do{m=t+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(j|0)|0;g=g+1|0}while((g|0)!=(e|0))}dj(x,t,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;C=29}if((C|0)==29){C=0;dj(x,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(w|0))break;d=f[v>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}bs(u);bs(t);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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=e>>>0>1073741823?-1:e<<2;u=as(y)|0;_j(u|0,0,y|0)|0;v=as(y)|0;_j(v|0,0,y|0)|0;y=a+8|0;dj(y,u,b,c);t=f[a+32>>2]|0;w=a+40|0;h=f[w>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;x=s>>2;if((s|0)<=4){bs(v);bs(u);return 1}p=f[a+36>>2]|0;s=(e|0)>0;r=t+12|0;q=e<<2;a=1;while(1){if(g-d>>2>>>0<=a>>>0){Oq(h);d=f[h>>2]|0}o=f[d+(a<<2)>>2]|0;if(s)_j(u|0,0,q|0)|0;if((o|0)>-1){n=f[r>>2]|0;m=o;l=0;while(1){g=f[n+(m<<2)>>2]|0;if((g|0)>=0){h=f[t>>2]|0;i=f[p>>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)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(s){d=0;do{f[v+(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(s){d=0;do{k=u+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[v+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=f[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d;if((m|0)<=-1)break;else l=h}d=X(a,e)|0;if(!h)z=31;else{if(s){g=0;do{o=u+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}dj(y,u,b+(d<<2)|0,c+(d<<2)|0)}}else{d=X(a,e)|0;z=31}if((z|0)==31){z=0;dj(y,c+((X(a+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0)}a=a+1|0;if((a|0)>=(x|0))break;d=f[w>>2]|0;g=f[d+4>>2]|0;h=d;d=f[d>>2]|0}bs(v);bs(u);return 1}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;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 vd(a,b){a=a|0;b=b|0;var c=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}}Iq(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];_h(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=no(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}Af(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}nk(q+4|0,f[n>>2]|0);nk(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,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((yh(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))Bj(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=yh(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 xd(a,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=nm(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=nm(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=nm(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=sh(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=nm(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=sh(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 yd(a,c,d){a=a|0;c=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+48|0;r=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;t=v;s=c+24|0;e=b[s>>0]|0;j=e<<24>>24;k=f[a+80>>2]|0;m=X(k,j)|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;vg(d,0,0+(m<<2)|0);if((k|0)<=0){t=1;u=v;return t|0}m=c+84|0;l=c+68|0;a:do if(e<<24>>24>0){h=0;i=0;while(1){if(!(b[m>>0]|0))a=f[(f[l>>2]|0)+(i<<2)>>2]|0;else a=i;switch(b[s>>0]|0){case 1:{f[n>>2]=a;f[r>>2]=f[n>>2];a=dg(c,r,t)|0;break}case 2:{f[o>>2]=a;f[r>>2]=f[o>>2];a=cg(c,r,t)|0;break}case 3:{f[p>>2]=a;f[r>>2]=f[p>>2];a=bg(c,r,t)|0;break}case 4:{f[q>>2]=a;f[r>>2]=f[q>>2];a=ag(c,r,t)|0;break}default:break a}if(!a){a=0;e=24;break}a=f[d>>2]|0;e=h;g=0;while(1){f[a+(e<<2)>>2]=f[t+(g<<2)>>2];g=g+1|0;if((g|0)==(j|0))break;else e=e+1|0}i=i+1|0;if((i|0)>=(k|0)){a=1;e=24;break}else h=j+h|0}if((e|0)==24){u=v;return a|0}}else{e=0;while(1){if(!(b[m>>0]|0))a=f[(f[l>>2]|0)+(e<<2)>>2]|0;else a=e;switch(b[s>>0]|0){case 1:{f[n>>2]=a;f[r>>2]=f[n>>2];a=dg(c,r,t)|0;break}case 2:{f[o>>2]=a;f[r>>2]=f[o>>2];a=cg(c,r,t)|0;break}case 3:{f[p>>2]=a;f[r>>2]=f[p>>2];a=bg(c,r,t)|0;break}case 4:{f[q>>2]=a;f[r>>2]=f[q>>2];a=ag(c,r,t)|0;break}default:break a}if(!a){a=0;e=24;break}e=e+1|0;if((e|0)>=(k|0)){a=1;e=24;break}}if((e|0)==24){u=v;return a|0}}while(0);t=0;u=v;return t|0}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=Kp(mo(f[e>>2]|0,f[e+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;e=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-e|0)>>>0:0))){j=0;return j|0}k=$(b[e+c>>0]|0);g=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:g;n[d+4>>2]=$(0.0);j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;e=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;g=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;c=b[l+1>>0]|0;g=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Ad(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=Do(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=Do(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Bd(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=Cn(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>>>((Cn(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=Kp(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;_o(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=_o(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 Cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=La,i=0,j=0,k=La,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=Kp(mo(f[e>>2]|0,f[e+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;e=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-e|0)>>>0:0))){j=0;return j|0}k=$(h[e+c>>0]|0);g=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:g;n[d+4>>2]=$(0.0);j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;e=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;g=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;c=b[l+1>>0]|0;g=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;n[d+4>>2]=$(0.0);i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;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=pl(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 Bj(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=pl(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 Bj(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=pl(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 Bj(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=pl(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 Bj(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 Gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[a>>0]|h[a+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g&65535;f[j+4>>2]=0;g=Wo(g|0,i|0,16)|0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Hd(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)ds(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}o=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)ds(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 Id(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(!(nm(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(!(nm(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 Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;a=b[a>>0]|0;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(i&255)<<24>>24;g=d;f[g>>2]=j;f[g+4>>2]=((j|0)<0)<<31>>31;g=(i>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&255)<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Kd(a,b){a=a|0;b=b|0;var 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)ds(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}n=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)ds(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 Ld(a,c){a=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)ds(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}o=no(c<<2)|0;d=f[a>>2]|0;f[a>>2]=o;if(d|0)ds(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 Md(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=g+4|0;g=Do(Ro(i|0,h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24|0,48)|0,I|0,48)|0;j=d;f[j>>2]=g;f[j+4>>2]=I;i=Do(0,i|0,48)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function Nd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;j=d;f[j>>2]=h[a>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&255;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i>>>16&255;f[j+4>>2]=0;j=d+24|0;f[j>>2]=i>>>24;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Od(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;rc(a,g,k);if(f[a>>2]|0){u=m;return}i=a+4|0;Op(i);g=h[k+7>>0]|0;if((g|0)!=(Sa[f[(f[c>>2]|0)+8>>2]&255](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Jk(l,21389,50);f[a>>2]=-1;im(i,l);Op(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;Jk(l,21440,22);f[a>>2]=-5;im(i,l);Op(l);u=m;return}if(e<<24>>24==2&(g&255)>1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Jk(l,21463,22);f[a>>2]=-5;im(i,l);Op(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){ig(a,c);if(!(f[a>>2]|0)){Op(i);break}else{u=m;return}}while(0);if(!(Sa[f[(f[c>>2]|0)+12>>2]&255](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Jk(l,21486,33);f[a>>2]=-1;im(i,l);Op(l);u=m;return}if(!(Sa[f[(f[c>>2]|0)+20>>2]&255](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Jk(l,21520,31);f[a>>2]=-1;im(i,l);Op(l);u=m;return}if(Sa[f[(f[c>>2]|0)+24>>2]&255](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;Jk(l,21552,34);f[a>>2]=-1;im(i,l);Op(l);u=m;return}}function Pd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;f[d+4>>2]=i<<16>>16;f[d+8>>2]=j<<16>>16;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i<<16>>16;f[d+4>>2]=i>>16;g=Ro(j|0,0,16)|0;f[d+8>>2]=g>>16;j=Ro(Wo(i|0,j|0,48)|0,I|0,16)|0;f[d+12>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;g=Wo(i|0,j|0,16)|0;f[d+4>>2]=g&65535;f[d+8>>2]=j&65535;j=Wo(i|0,j|0,48)|0;f[d+12>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}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,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=no(88)|0;f[n+4>>2]=0;f[n>>2]=4720;k=n+12|0;f[k>>2]=4700;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]=4700;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]=4700;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;Rh(o+8|0,g,h);Pa[f[(f[o>>2]|0)+8>>2]&255](o);Dg(j,o);Dg(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;dh(g,h)|0;f[h>>2]=4700;c=f[h+20>>2]|0;if(c|0)ds(c);c=f[h+8>>2]|0;if(c|0)ds(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=4700;c=f[j+20>>2]|0;if(c|0)ds(c);c=f[j+8>>2]|0;if(c|0)ds(c);f[n+8>>2]=f[s>>2];dh(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;Eg(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=4700;c=f[o+20>>2]|0;if(c|0)ds(c);c=f[o+8>>2]|0;if(c|0)ds(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);ds(c)}f[q>>2]=4700;c=f[s+24>>2]|0;if(c|0)ds(c);c=f[s+12>>2]|0;if(!c){u=t;return}ds(c);u=t;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,t=0,u=0,v=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)ds(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}v=no(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)ds(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)Ga(22727,22625,67,22717);else if((d|0)==40)return}function Ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=d;f[g>>2]=j&65535;f[g+4>>2]=0;i=Wo(j|0,i|0,16)|0;j=d+8|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;j=d;f[j>>2]=h[a>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&255;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i>>>16&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;g=b[g>>0]|0;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=~~(f[s>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,$(n[s>>2]));f[d>>2]=j;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];j=~~$(n[s>>2]);f[d>>2]=j;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];j=~~$(n[s>>2]);f[d>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function Yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;f[d+4>>2]=i<<16>>16;f[d+8>>2]=j<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i<<16>>16;f[d+4>>2]=i>>16;j=Ro(j|0,0,16)|0;f[d+8>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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(!(ik(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];wd(a,0,z);d=(f[q>>2]|0)-(f[t>>2]|0)>>2;f[x>>2]=C+1;f[z>>2]=f[x>>2];wd(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];wd(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 Bj(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=pl(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 Bj(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 Bj(l,z);f[k>>2]=(f[k>>2]|0)+1}}f[y>>2]=g;f[z>>2]=f[y>>2];Fd(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 _d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;i=Wo(i|0,j|0,16)|0;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}function $d(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,4,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);k=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function ae(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,4,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);k=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function be(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4744;is(a+352|0);b=f[a+340>>2]|0;if(b|0){d=a+344|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ds(b)}d=a+320|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;is(b)}while((b|0)!=(c|0))}bs(d)}is(a+304|0);is(a+264|0);wj(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);ds(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);ds(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);ds(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);ds(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;ds(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)ds(b);b=f[a+132>>2]|0;if(b|0)ds(b);b=f[a+120>>2]|0;if(b|0)ds(b);b=f[a+108>>2]|0;if(b|0)ds(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);ds(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);ds(b)}b=f[a+60>>2]|0;if(b|0)ds(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);ds(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);ds(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);ds(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);ds(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;mk(b);ds(b);return}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,l=0,m=0;k=a+92|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+128|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+100>>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+100>>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+100>>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+100>>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+132>>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+132>>2]=(f[(f[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function de(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)ds(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}n=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)ds(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 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;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)ds(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}n=no(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)ds(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 fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535)<<16>>16;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;i=i+4|0;i=Do(Ro(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0,h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24|0,48)|0,I|0,48)|0;j=d;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 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;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)ds(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}m=no(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)ds(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 he(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,2,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8)<<16>>16);k=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}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,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;rk(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(Be(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;rk(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=Kp(d|0,e|0,1,0)|0,p=h,f[p>>2]=j,f[p+4>>2]=I,p=l&255,tk(t,p,0),j=f[a>>2]|0,o=rm(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=Kp(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){Fh(o|0,(f[j>>2]|0)+k|0,p|0)|0;w=r;w=Kp(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=no(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(ie(a,x)|0){d=f[s>>2]|0;f[s>>2]=0;f[m>>2]=d;gh(c,t,m)|0;Ej(m);d=0}else d=1;Ej(s)}else d=1;Op(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 je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+92|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+112>>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+100>>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+100>>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+100>>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+100>>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+100>>2]|0)+(b<<2)>>2]|0;c=f[a+120>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+116|0;f[a>>2]=i;return}i=f[a+124>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+116|0;f[a>>2]=i;return}function ke(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=Kp(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=Kp(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(rk(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{mj(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=Kp(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}_j((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=Kp(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=li(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function le(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=Kp(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=Kp(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(rk(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{mj(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=Kp(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}_j((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=Kp(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=oi(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function me(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=Kp(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=Kp(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(rk(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{mj(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=Kp(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}_j((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=Kp(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=pi(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function ne(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=Kp(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=Kp(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(rk(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{mj(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=Kp(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}_j((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=Kp(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=qi(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function oe(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=Kp(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=Kp(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(rk(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{mj(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=Kp(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}_j((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=Kp(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=ri(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function pe(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=Kp(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=Kp(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(rk(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{mj(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=Kp(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}_j((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=Kp(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=ti(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function qe(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=Kp(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=Kp(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(rk(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{mj(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=Kp(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}_j((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=Kp(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=ui(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function re(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=Kp(mo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,2,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8)&65535);k=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function se(a,b,c,d,e,g){a=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{mj(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=as(r)|0;_j(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)){bs(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));bs(s);return 1}function te(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;o=u;u=u+48|0;m=o+40|0;n=o;if(!(Nh(a,1,m)|0)){n=0;u=o;return n|0}l=a+40|0;e=a+16|0;i=f[e>>2]|0;c=(f[a>>2]|0)+i|0;j=a+8|0;e=_o(f[j>>2]|0,f[j+4>>2]|0,i|0,f[e+4>>2]|0)|0;i=a+38|0;ao(l,c,e,d[i>>1]|0);e=m;c=f[e>>2]|0;e=f[e+4>>2]|0;j=a+48|0;p=j;k=a+56|0;h=k;g=f[h>>2]|0;h=f[h+4>>2]|0;p=_o(f[p>>2]|0,f[p+4>>2]|0,g|0,h|0)|0;q=I;if(e>>>0>q>>>0|(e|0)==(q|0)&c>>>0>p>>>0){q=0;u=o;return q|0}p=Kp(g|0,h|0,c|0,e|0)|0;q=k;f[q>>2]=p;f[q+4>>2]=I;if(!(Nh(l,1,m)|0)){q=0;u=o;return q|0}Hn(n);e=k;q=f[e>>2]|0;c=(f[l>>2]|0)+q|0;h=j;e=_o(f[h>>2]|0,f[h+4>>2]|0,q|0,f[e+4>>2]|0)|0;ao(n,c,e,d[i>>1]|0);e=m;c=f[e>>2]|0;e=f[e+4>>2]|0;q=n+8|0;i=n+16|0;h=i;g=f[h>>2]|0;h=f[h+4>>2]|0;q=_o(f[q>>2]|0,f[q+4>>2]|0,g|0,h|0)|0;p=I;a:do if(e>>>0>p>>>0|(e|0)==(p|0)&c>>>0>q>>>0)b=0;else{c=Kp(g|0,h|0,c|0,e|0)|0;j=i;f[j>>2]=c;f[j+4>>2]=I;j=a+84|0;c=f[j>>2]|0;if((c|0)>0){h=c<<4;h=as(c>>>0>268435455|h>>>0>4294967291?-1:h+4|0)|0;f[h>>2]=c;h=h+4|0;e=h+(c<<4)|0;c=h;do{Ar(c);c=c+16|0}while((c|0)!=(e|0));i=a+80|0;g=f[i>>2]|0;f[i>>2]=h;if(g|0){e=g+-4|0;c=f[e>>2]|0;if(c|0){c=g+(c<<4)|0;do{c=c+-16|0;is(c)}while((c|0)!=(g|0))}bs(e)}if((f[j>>2]|0)>0){c=0;do{if(!(xg((f[i>>2]|0)+(c<<4)|0,n)|0)){b=0;break a}c=c+1|0}while((c|0)<(f[j>>2]|0))}}c=n;e=b+40|0;do{f[b>>2]=f[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(e|0));b=1}while(0);is(n+24|0);q=b;u=o;return q|0}function ue(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i+2|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[d+4>>2]=j&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;j=Wo(i|0,j|0,16)|0;f[d+4>>2]=j&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}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;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=Kp(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=tg(a,c,d)|0;return j|0}case 2:{j=tg(a,c,d)|0;return j|0}case 3:{j=tg(a,c,d)|0;return j|0}case 4:{j=tg(a,c,d)|0;return j|0}case 5:{j=tg(a,c,d)|0;return j|0}case 6:{j=tg(a,c,d)|0;return j|0}case 7:{j=tg(a,c,d)|0;return j|0}case 8:{j=tg(a,c,d)|0;return j|0}case 9:{j=sg(a,c,d)|0;return j|0}case 10:{j=qg(a,c,d)|0;return j|0}case 11:{j=pg(a,c,d)|0;return j|0}case 12:{j=og(a,c,d)|0;return j|0}case 13:{j=ng(a,c,d)|0;return j|0}case 14:{j=mg(a,c,d)|0;return j|0}case 15:{j=mg(a,c,d)|0;return j|0}case 16:{j=mg(a,c,d)|0;return j|0}case 17:{j=mg(a,c,d)|0;return j|0}case 18:{j=mg(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function we(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=Do(0,h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24|0,32)|0;j=d;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=b[g>>0];f[d+4>>2]=i<<24>>24;f[d+8>>2]=j<<24>>24;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;f[d+8>>2]=j<<8>>24;f[d+12>>2]=j>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=d;f[j>>2]=h[g>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=i&255;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=h[g>>0];f[d+4>>2]=i&255;f[d+8>>2]=j&255;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;f[d+8>>2]=j>>>16&255;f[d+12>>2]=j>>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ae(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4580;d=a+320|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;is(b)}while((b|0)!=(c|0))}bs(d)}is(a+304|0);is(a+264|0);wj(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);ds(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);ds(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);ds(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);ds(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;ds(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)ds(b);b=f[a+132>>2]|0;if(b|0)ds(b);b=f[a+120>>2]|0;if(b|0)ds(b);b=f[a+108>>2]|0;if(b|0)ds(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);ds(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);ds(b)}b=f[a+60>>2]|0;if(b|0)ds(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);ds(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);ds(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);ds(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);ds(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;mk(b);ds(b);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,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;Op(m);u=n;return l|0}q=b[(f[d>>2]|0)+g>>0]|0;d=Kp(g|0,e|0,1,0)|0;i=h;f[i>>2]=d;f[i+4>>2]=I;i=q&255;tk(m,i,0);d=f[a>>2]|0;h=rm(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=Kp(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;Op(m);u=n;return r|0}Fh(h|0,(f[d>>2]|0)+e|0,i|0)|0;i=j;i=Kp(f[i>>2]|0,f[i+4>>2]|0,g|0,0)|0;d=j;f[d>>2]=i;f[d+4>>2]=I;f[k>>2]=0;rk(k,f[a>>2]|0)|0;d=f[k>>2]|0;f[l>>2]=0;i=l+4|0;f[i>>2]=0;f[l+8>>2]=0;if(!d)h=0;else{if((d|0)<0)Pq(l);e=no(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=Kp(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)e=0;else{Fh(f[l>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;r=g;r=Kp(f[r>>2]|0,f[r+4>>2]|0,h|0,0)|0;e=g;f[e>>2]=r;f[e+4>>2]=I;Kn(c,m,l);e=1}d=f[l>>2]|0;if(d|0){if((f[i>>2]|0)!=(d|0))f[i>>2]=d;ds(d)}r=e;Op(m);u=n;return r|0}function Ce(a,b,c,d,e,g){a=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=as(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)bs(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 mj(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){Oq(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];tc(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 De(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=La,l=0;switch(b[a+24>>0]|0){case 1:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=Kp(mo(f[e>>2]|0,f[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=I;g=f[a>>2]|0;e=f[g>>2]|0;if(!((i|0)<0|((i|0)==0?c>>>0<((f[g+4>>2]|0)-e|0)>>>0:0))){i=0;return i|0}k=$(b[e+c>>0]|0);j=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:j;i=1;return i|0}case 2:{l=f[c>>2]|0;c=a+48|0;g=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,g|0,c|0)|0;g=Kp(c|0,I|0,2,0)|0;l=I;i=f[a>>2]|0;e=f[i>>2]|0;if((l|0)>0|((l|0)==0?g>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$(((h[l>>0]|h[l+1>>0]<<8)&255)<<24>>24);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,3,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}j=$(b[e+c>>0]|0);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,4,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$(((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)&255)<<24>>24);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}default:{l=0;return l|0}}return 0}function Ee(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,12)|0;n[d+12>>2]=$(0.0);j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,16)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Fe(a,b,c,d,e,g){a=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=as(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)bs(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 mj(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){Oq(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];qc(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 Ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,12)|0;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,16)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=La,l=0;switch(b[a+24>>0]|0){case 1:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=Kp(mo(f[e>>2]|0,f[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=I;g=f[a>>2]|0;e=f[g>>2]|0;if(!((i|0)<0|((i|0)==0?c>>>0<((f[g+4>>2]|0)-e|0)>>>0:0))){i=0;return i|0}k=$(h[e+c>>0]|0);j=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:j;i=1;return i|0}case 2:{l=f[c>>2]|0;c=a+48|0;g=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,g|0,c|0)|0;g=Kp(c|0,I|0,2,0)|0;l=I;i=f[a>>2]|0;e=f[i>>2]|0;if((l|0)>0|((l|0)==0?g>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$((h[l>>0]|h[l+1>>0]<<8)&255);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,3,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}j=$(h[e+c>>0]|0);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=Kp(c|0,I|0,4,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)&255);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}default:{l=0;return l|0}}return 0}function Ie(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i+2|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;f[d+4>>2]=j<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function Je(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=as((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{Fh(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;Fh((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}Fh((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);bs(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=as((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{Fh(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;Fh((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}Fh((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);bs(i);c=1;return c|0}case 4:{Xi(a,c);c=1;return c|0}case 3:{Xi(a,c);c=1;return c|0}case 6:{Yi(a,c);c=1;return c|0}case 5:{Yi(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function Ke(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=b[g>>0];f[d+4>>2]=i<<24>>24;f[d+8>>2]=j<<24>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;f[d+8>>2]=j<<8>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Me(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=h[g>>0];f[d+4>>2]=i&255;f[d+8>>2]=j&255;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;f[d+8>>2]=j>>>16&255;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;n[d+8>>2]=$(0.0);j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,12)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,12)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,12)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}rn(d|0,c+e|0,12)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Qe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8)&255)<<24>>24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=b[c+e>>0]|0;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&255)<<24>>24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Re(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 Se(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(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(!(xg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(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];lb(a,r,n);r=1;u=p;return r|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,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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(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(!(xg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(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 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,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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(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(!(xg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(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 Ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}default:{j=0;return j|0}}return 0}function We(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=Kp(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]&255](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){mj(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]&255](a)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0;return a|0}function Xe(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=Kp(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(Oj(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=_o(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=Kp(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 Ye(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=Kp(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(Oj(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=_o(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=Kp(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 Ze(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=Kp(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(Oj(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=_o(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=Kp(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 _e(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=Kp(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(Oj(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=_o(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=Kp(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 $e(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=Kp(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(Oj(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=_o(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=Kp(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 af(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=Kp(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(Oj(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=_o(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=Kp(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 bf(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=Kp(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(Oj(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=_o(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=Kp(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 cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=b[i+1>>0]|0;f[d>>2]=b[i>>0];f[d+4>>2]=j<<24>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function df(a,b,c,d,e,g){a=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 mj(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){Oq(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];Ob(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 ef(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(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(!(xg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(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];jb(a,r,n);r=1;u=p;return r|0}function ff(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(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(!(xg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(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];nb(a,r,n);r=1;u=p;return r|0}function gf(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(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(!(xg(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(Ig(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 hf(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 jf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4792;fi(a+240|0);wj(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);ds(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);ds(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);ds(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);ds(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;ds(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)ds(b);b=f[a+132>>2]|0;if(b|0)ds(b);b=f[a+120>>2]|0;if(b|0)ds(b);b=f[a+108>>2]|0;if(b|0)ds(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);ds(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);ds(b)}b=f[a+60>>2]|0;if(b|0)ds(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);ds(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);ds(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);ds(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);ds(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;mk(b);ds(b);return}function kf(a,b,c,d,e,g){a=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 mj(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){Oq(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 lf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<16>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<16>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=b[i+1>>0]|0;f[d>>2]=h[i>>0];f[d+4>>2]=j&255;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;j=1;return j|0}default:{j=0;return j|0}}return 0} +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,v=0,w=0,x=0,y=0,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+64|0;J=K+16|0;H=K;d=J;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[H>>2]=0;if(!e){d=0;g=0}else{Xh(J,e,H);d=f[J+12>>2]|0;g=f[J+16>>2]|0}f[H>>2]=0;h=J+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Xh(J+12|0,e-i|0,H);i=J+24|0;f[H>>2]=0;h=J+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?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Xh(i,e-j|0,H);i=J+36|0;f[H>>2]=0;h=J+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?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xh(i,e-j|0,H);C=a+8|0;$i(C,f[J>>2]|0,b,c);v=f[a+32>>2]|0;t=f[a+36>>2]|0;D=no(16)|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;xl(H,e);A=a+40|0;h=f[A>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;z=g-d|0;B=z>>2;a:do if((z|0)>4){z=v+64|0;x=v+28|0;y=(e|0)>0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){Oq(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=42;break b}i=f[J+(d*12|0)>>2]|0;if(((f[(f[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(I=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(G=f[x>>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){k=X(E,e)|0;l=X(F,e)|0;m=X(G,e)|0;if(y){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=23;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>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[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>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=42;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[z>>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)==42)if((d|0)>0)o=23;else{d=X(h,e)|0;o=54}if((o|0)==23){o=0;if(y){_j(f[H>>2]|0,0,w|0)|0;k=d+-1|0;m=D+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[H>>2]|0;n=0;j=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){g=f[J+(n*12|0)>>2]|0;i=0;do{s=l+(i<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=D+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{s=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=54;else{g=f[H>>2]|0;if(y){i=0;do{s=g+(i<<2)|0;f[s>>2]=(f[s>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}$i(C,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==54)$i(C,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(B|0)){d=H;break a}i=f[A>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=H;while(0);h=f[d>>2]|0;if(h|0){g=H+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h)}ds(D);d=f[J+36>>2]|0;if(d|0){h=J+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[J+24>>2]|0;if(d|0){h=J+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[J+12>>2]|0;if(d|0){h=J+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}h=f[J>>2]|0;if(!h){u=K;return 1}g=J+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h);u=K;return 1}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;K=u;u=u+64|0;J=K+16|0;H=K;d=J;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[H>>2]=0;if(!e){d=0;g=0}else{Xh(J,e,H);d=f[J+12>>2]|0;g=f[J+16>>2]|0}f[H>>2]=0;h=J+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Xh(J+12|0,e-i|0,H);i=J+24|0;f[H>>2]=0;h=J+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?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Xh(i,e-j|0,H);i=J+36|0;f[H>>2]=0;h=J+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?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xh(i,e-j|0,H);C=a+8|0;dj(C,f[J>>2]|0,b,c);v=f[a+32>>2]|0;t=f[a+36>>2]|0;D=no(16)|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;xl(H,e);A=a+40|0;h=f[A>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;z=g-d|0;B=z>>2;a:do if((z|0)>4){z=v+64|0;x=v+28|0;y=(e|0)>0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){Oq(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=42;break b}i=f[J+(d*12|0)>>2]|0;if(((f[(f[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(I=f[(f[(f[z>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(G=f[x>>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){k=X(E,e)|0;l=X(F,e)|0;m=X(G,e)|0;if(y){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=23;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>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[v>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[z>>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=42;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[z>>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)==42)if((d|0)>0)o=23;else{d=X(h,e)|0;o=54}if((o|0)==23){o=0;if(y){_j(f[H>>2]|0,0,w|0)|0;k=d+-1|0;m=D+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[H>>2]|0;n=0;j=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){g=f[J+(n*12|0)>>2]|0;i=0;do{s=l+(i<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=D+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{s=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=54;else{g=f[H>>2]|0;if(y){i=0;do{s=g+(i<<2)|0;f[s>>2]=(f[s>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}dj(C,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==54)dj(C,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(B|0)){d=H;break a}i=f[A>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=H;while(0);h=f[d>>2]|0;if(h|0){g=H+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h)}ds(D);d=f[J+36>>2]|0;if(d|0){h=J+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[J+24>>2]|0;if(d|0){h=J+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[J+12>>2]|0;if(d|0){h=J+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}h=f[J>>2]|0;if(!h){u=K;return 1}g=J+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h);u=K;return 1}function Bb(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;x=u;u=u+16|0;w=x;v=a+32|0;r=f[v>>2]|0;j=r+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;k=r+16|0;l=k;n=f[l>>2]|0;l=f[l+4>>2]|0;d=Kp(n|0,l|0,4,0)|0;c=I;if((j|0)<(c|0)|(j|0)==(c|0)&i>>>0>>0){a=0;u=x;return a|0}g=f[r>>2]|0;t=g+n|0;t=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;s=k;f[s>>2]=d;f[s+4>>2]=c;if((t|0)<0){a=0;u=x;return a|0}c=Kp(n|0,l|0,8,0)|0;e=I;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){a=0;u=x;return a|0}s=g+d|0;s=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;q=k;f[q>>2]=c;f[q+4>>2]=e;if(!((s|0)>-1&((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>c>>>0))){a=0;u=x;return a|0}q=b[g+c>>0]|0;m=Kp(n|0,l|0,9,0)|0;j=I;p=k;f[p>>2]=m;f[p+4>>2]=j;a:do if(!(q<<24>>24)){if(!(Wf(a,t)|0)){a=0;u=x;return a|0}}else{if((s|0)<256){if((t|0)<=0)break;n=a+44|0;o=w+4|0;p=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;c=r+8|0;d=f[c>>2]|0;c=f[c+4>>2]|0;b:do if((c|0)>(j|0)|(c|0)==(j|0)&d>>>0>m>>>0){e=r;k=m;i=c;l=0;do{g=e+16|0;e=f[e>>2]|0;q=b[e+k>>0]|0;c=Kp(k|0,j|0,1,0)|0;r=I;m=g;f[m>>2]=c;f[m+4>>2]=r;f[w>>2]=q&255;if(!((i|0)>(r|0)|(i|0)==(r|0)&d>>>0>c>>>0))break b;q=b[e+c>>0]|0;c=Kp(k|0,j|0,2,0)|0;r=I;m=g;f[m>>2]=c;f[m+4>>2]=r;f[o>>2]=q&255;if(!((i|0)>(r|0)|(i|0)==(r|0)&d>>>0>c>>>0))break b;d=b[e+c>>0]|0;c=Kp(k|0,j|0,3,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;f[p>>2]=d&255;d=f[n>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))hj(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}l=l+1|0;if((l|0)>=(t|0))break a;e=f[v>>2]|0;j=e+16|0;k=f[j>>2]|0;j=f[j+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;i=e+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0}while((i|0)>(j|0)|(i|0)==(j|0)&d>>>0>k>>>0)}while(0);a=0;u=x;return a|0}c=(t|0)>0;if((s|0)<65536){if(!c)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;e=r+8|0;i=f[e>>2]|0;e=f[e+4>>2]|0;c=Kp(n|0,l|0,11,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&i>>>0>>0)){g=r;l=e;n=0;do{k=g+16|0;g=f[g>>2]|0;e=g+m|0;e=h[e>>0]|h[e+1>>0]<<8;r=k;f[r>>2]=c;f[r+4>>2]=d;f[w>>2]=e&65535;e=Kp(m|0,j|0,4,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0)break c;c=g+c|0;c=h[c>>0]|h[c+1>>0]<<8;r=k;f[r>>2]=e;f[r+4>>2]=d;f[p>>2]=c&65535;c=Kp(m|0,j|0,6,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;r=k;f[r>>2]=c;f[r+4>>2]=d;f[q>>2]=e&65535;d=f[o>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))hj(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}n=n+1|0;if((n|0)>=(t|0))break a;g=f[v>>2]|0;j=g+16|0;m=f[j>>2]|0;j=f[j+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;l=g+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;c=Kp(m|0,j|0,2,0)|0;d=I}while(!((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0))}while(0);a=0;u=x;return a|0}else{if(!c)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;e=r+8|0;i=f[e>>2]|0;e=f[e+4>>2]|0;c=Kp(n|0,l|0,13,0)|0;d=I;d:do if(!((e|0)<(d|0)|(e|0)==(d|0)&i>>>0>>0)){g=r;l=e;n=0;do{k=g+16|0;g=f[g>>2]|0;e=g+m|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;r=k;f[r>>2]=c;f[r+4>>2]=d;f[w>>2]=e;e=Kp(m|0,j|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0)break d;c=g+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;r=k;f[r>>2]=e;f[r+4>>2]=d;f[p>>2]=c;c=Kp(m|0,j|0,12,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0)break d;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;r=k;f[r>>2]=c;f[r+4>>2]=d;f[q>>2]=e;d=f[o>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))hj(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}n=n+1|0;if((n|0)>=(t|0))break a;g=f[v>>2]|0;j=g+16|0;m=f[j>>2]|0;j=f[j+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;l=g+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;c=Kp(m|0,j|0,4,0)|0;d=I}while(!((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0))}while(0);a=0;u=x;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=s;a=1;u=x;return a|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;H=u;u=u+64|0;G=H+16|0;F=H;d=G;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[F>>2]=0;if(!e){d=0;g=0}else{Xh(G,e,F);d=f[G+12>>2]|0;g=f[G+16>>2]|0}f[F>>2]=0;h=G+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Xh(G+12|0,e-i|0,F);i=G+24|0;f[F>>2]=0;h=G+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?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Xh(i,e-j|0,F);i=G+36|0;f[F>>2]=0;h=G+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?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xh(i,e-j|0,F);D=a+8|0;$i(D,f[G>>2]|0,b,c);x=f[a+32>>2]|0;w=f[a+36>>2]|0;E=no(16)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;xl(F,e);B=a+40|0;i=f[B>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;A=g-d|0;C=A>>2;a:do if((A|0)>4){z=x+12|0;A=(e|0)>0;y=e<<2;h=1;while(1){if(g-d>>2>>>0<=h>>>0){Oq(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=43;break b}o=f[G+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[x>>2]|0;l=f[w>>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(A){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=26;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=43;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)==43)if((d|0)>0)o=26;else{d=X(h,e)|0;o=55}if((o|0)==26){o=0;if(A){_j(f[F>>2]|0,0,y|0)|0;k=d+-1|0;m=E+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[F>>2]|0;n=0;j=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){g=f[G+(n*12|0)>>2]|0;i=0;do{v=l+(i<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=E+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{v=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=55;else{g=f[F>>2]|0;if(A){i=0;do{v=g+(i<<2)|0;f[v>>2]=(f[v>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}$i(D,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==55)$i(D,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(C|0)){d=F;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=F;while(0);h=f[d>>2]|0;if(h|0){g=F+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h)}ds(E);d=f[G+36>>2]|0;if(d|0){h=G+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[G+24>>2]|0;if(d|0){h=G+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[G+12>>2]|0;if(d|0){h=G+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}h=f[G>>2]|0;if(!h){u=H;return 1}g=G+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h);u=H;return 1}function Db(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=La,p=La,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(f[s>>2]|0,f[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;j=Kp(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=no(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;Ei(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=mo(g|0,f[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Fh((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{Xh(j,h-k|0,1592);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)Ga(21905,21924,89,22019);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);ds(h)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;ds(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return m|0}ds(e);u=P;return m|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,E=0,F=0,G=0,H=0;H=u;u=u+64|0;G=H+16|0;F=H;d=G;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[F>>2]=0;if(!e){d=0;g=0}else{Xh(G,e,F);d=f[G+12>>2]|0;g=f[G+16>>2]|0}f[F>>2]=0;h=G+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(j=d+(e<<2)|0,(g|0)!=(j|0)):0)f[h>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else Xh(G+12|0,e-i|0,F);i=G+24|0;f[F>>2]=0;h=G+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?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Xh(i,e-j|0,F);i=G+36|0;f[F>>2]=0;h=G+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?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xh(i,e-j|0,F);D=a+8|0;dj(D,f[G>>2]|0,b,c);x=f[a+32>>2]|0;w=f[a+36>>2]|0;E=no(16)|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;xl(F,e);B=a+40|0;i=f[B>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;A=g-d|0;C=A>>2;a:do if((A|0)>4){z=x+12|0;A=(e|0)>0;y=e<<2;h=1;while(1){if(g-d>>2>>>0<=h>>>0){Oq(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=43;break b}o=f[G+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[x>>2]|0;l=f[w>>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(A){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=26;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=43;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)==43)if((d|0)>0)o=26;else{d=X(h,e)|0;o=55}if((o|0)==26){o=0;if(A){_j(f[F>>2]|0,0,y|0)|0;k=d+-1|0;m=E+(k<<2)|0;k=f[a+44+(k*12|0)>>2]|0;l=f[F>>2]|0;n=0;j=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){g=f[G+(n*12|0)>>2]|0;i=0;do{v=l+(i<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[g+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));j=j+1|0}n=n+1|0}while((n|0)!=(d|0))}else{g=d+-1|0;k=E+(g<<2)|0;g=f[a+44+(g*12|0)>>2]|0;i=f[k>>2]|0;l=0;j=0;do{v=i;i=i+1|0;f[k>>2]=i;j=j+((f[g+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}d=X(h,e)|0;if(!j)o=55;else{g=f[F>>2]|0;if(A){i=0;do{v=g+(i<<2)|0;f[v>>2]=(f[v>>2]|0)/(j|0)|0;i=i+1|0}while((i|0)!=(e|0))}dj(D,g,b+(d<<2)|0,c+(d<<2)|0)}}if((o|0)==55)dj(D,c+((X(h+-1|0,e)|0)<<2)|0,b+(d<<2)|0,c+(d<<2)|0);h=h+1|0;if((h|0)>=(C|0)){d=F;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=F;while(0);h=f[d>>2]|0;if(h|0){g=F+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h)}ds(E);d=f[G+36>>2]|0;if(d|0){h=G+40|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[G+24>>2]|0;if(d|0){h=G+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}d=f[G+12>>2]|0;if(d|0){h=G+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);ds(d)}h=f[G>>2]|0;if(!h){u=H;return 1}g=G+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);ds(h);u=H;return 1}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=La,o=La,p=0,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(f[r>>2]|0,f[r+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=Kp(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=no(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;Li(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=mo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Fh((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{Xh(i,g-j|0,1592);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Ga(21905,21924,89,22019);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);ds(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;ds(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}ds(d);u=O;return l|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=La,o=La,p=0,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(f[q>>2]|0,f[q+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Kp(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=no(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;Ii(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=mo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Fh((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{Xh(i,g-j|0,1592);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Ga(21905,21924,89,22019);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);ds(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;ds(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}ds(d);u=O;return l|0}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,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{Xh(I,i-j|0,5068);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;Hr(M);sa(M|0,1488,137)}else{i=no(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{Xh(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){Pq(J);M=Ia(4)|0;Hr(M);sa(M|0,1488,137)}g=no(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){Pq(z);M=Ia(4)|0;Hr(M);sa(M|0,1488,137)}else{D=no(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;_j(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);ds(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);ds(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);ds(c)}L=1;u=M;return L|0}function Ib(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=La,o=La,p=0,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(p|0,((p|0)<0)<<31>>31|0,f[r>>2]|0,f[r+4>>2]|0)|0;k=Kp(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=no(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;Ji(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=mo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Fh((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{Xh(j,g-k|0,1592);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)Ga(21905,21924,89,22019);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);ds(g)}d=f[L+8>>2]|0;if(d|0)do{K=d;d=f[d>>2]|0;ds(K)}while((d|0)!=0);d=f[L>>2]|0;f[L>>2]=0;if(!d){u=M;return p|0}ds(d);u=M;return p|0}function Jb(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=La,p=La,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Kp(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=no(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;Fi(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=mo(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Fh((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{Xh(k,i-l|0,1592);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Ga(21905,21924,89,22019);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);ds(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;ds(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}ds(e);u=O;return q|0}function Kb(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=La,p=La,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Kp(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=no(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;Mi(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=mo(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Fh((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{Xh(k,i-l|0,1592);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Ga(21905,21924,89,22019);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);ds(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;ds(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}ds(e);u=O;return q|0}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;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=ac(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ib(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Gb(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 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=Kb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Fb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Vb(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=Kb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Fb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Vb(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=Jb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Db(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Sb(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=Jb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Db(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Sb(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=ac(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ib(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Gb(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 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=ac(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ib(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Gb(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}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function Mb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,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;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=f[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=f[(f[f[g>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){k=b;l=-1073741824}else{k=b;l=f[(f[f[g>>2]>>2]|0)+(e<<2)>>2]|0}}else{k=-1073741824;l=-1073741824}b=a+36|0;i=f[b>>2]|0;e=f[i+4>>2]|0;j=f[i>>2]|0;if(e-j>>2>>>0>k>>>0){b=j;g=e;h=i;e=j}else{Oq(i);h=f[b>>2]|0;b=f[h>>2]|0;g=f[h+4>>2]|0;e=f[i>>2]|0}t=f[e+(k<<2)>>2]|0;if(g-b>>2>>>0<=l>>>0){Oq(h);b=f[h>>2]|0}b=f[b+(l<<2)>>2]|0;m=(t|0)<(d|0);do if(m&(b|0)<(d|0)){p=t<<1;n=f[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=f[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;l=b<<1;k=f[c+(l<<2)>>2]|0;l=f[c+((l|1)<<2)>>2]|0;if(!((k|0)!=(n|0)|(l|0)!=(p|0))){f[a+8>>2]=n;f[a+12>>2]=p;u=D;return}Mh(z,a,d);Mh(r,a,t);Mh(s,a,b);v=s;h=r;g=f[h>>2]|0;h=f[h+4>>2]|0;v=_o(f[v>>2]|0,f[v+4>>2]|0,g|0,h|0)|0;w=I;x=s+8|0;j=r+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;x=_o(f[x>>2]|0,f[x+4>>2]|0,i|0,j|0)|0;y=I;s=s+16|0;e=r+16|0;b=f[e>>2]|0;e=f[e+4>>2]|0;r=_o(f[s>>2]|0,f[s+4>>2]|0,b|0,e|0)|0;s=I;B=mo(v|0,w|0,v|0,w|0)|0;E=I;A=mo(x|0,y|0,x|0,y|0)|0;E=Kp(A|0,I|0,B|0,E|0)|0;B=I;A=mo(r|0,s|0,r|0,s|0)|0;A=Kp(E|0,B|0,A|0,I|0)|0;B=I;if((A|0)==0&(B|0)==0)break;J=z;J=_o(f[J>>2]|0,f[J+4>>2]|0,g|0,h|0)|0;H=I;G=z+8|0;G=_o(f[G>>2]|0,f[G+4>>2]|0,i|0,j|0)|0;F=I;g=z+16|0;g=_o(f[g>>2]|0,f[g+4>>2]|0,b|0,e|0)|0;h=I;E=mo(J|0,H|0,v|0,w|0)|0;b=I;j=mo(G|0,F|0,x|0,y|0)|0;b=Kp(j|0,I|0,E|0,b|0)|0;E=I;j=mo(g|0,h|0,r|0,s|0)|0;j=Kp(b|0,E|0,j|0,I|0)|0;E=I;b=_o(k|0,((k|0)<0)<<31>>31|0,n|0,o|0)|0;k=I;t=_o(l|0,((l|0)<0)<<31>>31|0,p|0,q|0)|0;d=I;n=mo(A|0,B|0,n|0,o|0)|0;m=I;p=mo(A|0,B|0,p|0,q|0)|0;o=I;c=mo(j|0,E|0,b|0,k|0)|0;z=I;i=mo(j|0,E|0,t|0,d|0)|0;l=I;m=Kp(c|0,z|0,n|0,m|0)|0;n=I;o=Kp(i|0,l|0,p|0,o|0)|0;p=I;l=mo(j|0,E|0,v|0,w|0)|0;i=I;z=mo(j|0,E|0,x|0,y|0)|0;c=I;E=mo(j|0,E|0,r|0,s|0)|0;j=I;i=jl(l|0,i|0,A|0,B|0)|0;l=I;c=jl(z|0,c|0,A|0,B|0)|0;z=I;j=jl(E|0,j|0,A|0,B|0)|0;E=I;l=_o(J|0,H|0,i|0,l|0)|0;i=I;z=_o(G|0,F|0,c|0,z|0)|0;c=I;E=_o(g|0,h|0,j|0,E|0)|0;j=I;i=mo(l|0,i|0,l|0,i|0)|0;l=I;c=mo(z|0,c|0,z|0,c|0)|0;l=Kp(c|0,I|0,i|0,l|0)|0;i=I;j=mo(E|0,j|0,E|0,j|0)|0;j=Kp(l|0,i|0,j|0,I|0)|0;i=I;k=_o(0,0,b|0,k|0)|0;l=I;i=mo(j|0,i|0,A|0,B|0)|0;j=I;b=j&2147483647;switch(i|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;g=i;h=j;C=19}break}case 1:{if(!b){e=1;b=0;C=20}else{e=1;b=0;g=i;h=j;C=19}break}default:{e=1;b=0;g=i;h=j;C=19}}if((C|0)==19)while(1){e=Ro(e|0,b|0,1)|0;b=I;J=g;g=Wo(g|0,h|0,2)|0;if(!(h>>>0>0|(h|0)==0&J>>>0>7)){C=20;break}else{h=I;C=19}}if((C|0)==20)while(1){J=Hq(i|0,j|0,e|0,b|0)|0;e=Kp(J|0,I|0,e|0,b|0)|0;e=Wo(e|0,I|0,1)|0;b=I;J=mo(e|0,b|0,e|0,b|0)|0;H=I;if(H>>>0>j>>>0|(H|0)==(j|0)&J>>>0>i>>>0)C=20;else break}E=mo(e|0,b|0,t|0,d|0)|0;F=I;C=mo(e|0,b|0,k|0,l|0)|0;G=I;H=a+20|0;c=(f[H>>2]|0)+-1|0;J=(1<<(c&31)&f[(f[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;f[H>>2]=c;H=_o(0,0,E|0,F|0)|0;F=Kp(m|0,n|0,(J?E:H)|0,(J?F:I)|0)|0;H=I;E=_o(0,0,C|0,G|0)|0;G=Kp(o|0,p|0,(J?C:E)|0,(J?G:I)|0)|0;J=I;H=jl(F|0,H|0,A|0,B|0)|0;J=jl(G|0,J|0,A|0,B|0)|0;f[a+8>>2]=H;f[a+12>>2]=J;u=D;return}while(0);do if(m)b=t<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}J=a+8|0;f[J>>2]=0;f[J+4>>2]=0;u=D;return}while(0);f[a+8>>2]=f[c+(b<<2)>>2];f[a+12>>2]=f[c+(b+1<<2)>>2];u=D;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;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))Bj(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];mh(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];mh(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];mh(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];mh(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))Bj(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))Bj(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 Ob(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,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;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=f[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else b=e;while(0);l=f[(f[g>>2]|0)+28>>2]|0;k=f[l+(b<<2)>>2]|0;l=f[l+(e<<2)>>2]|0;e=a+36|0;g=f[e>>2]|0;b=f[g+4>>2]|0;j=f[g>>2]|0;if(b-j>>2>>>0>k>>>0){h=b;i=g;e=j;b=j}else{Oq(g);b=f[e>>2]|0;h=f[b+4>>2]|0;i=b;e=f[g>>2]|0;b=f[b>>2]|0}y=f[e+(k<<2)>>2]|0;if(h-b>>2>>>0<=l>>>0){Oq(i);b=f[i>>2]|0}b=f[b+(l<<2)>>2]|0;m=(y|0)<(d|0);do if(m&(b|0)<(d|0)){p=y<<1;n=f[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=f[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;l=b<<1;k=f[c+(l<<2)>>2]|0;l=f[c+((l|1)<<2)>>2]|0;if(!((k|0)!=(n|0)|(l|0)!=(p|0))){f[a+8>>2]=n;f[a+12>>2]=p;u=D;return}Mh(z,a,d);Mh(r,a,y);Mh(s,a,b);t=s;h=r;g=f[h>>2]|0;h=f[h+4>>2]|0;t=_o(f[t>>2]|0,f[t+4>>2]|0,g|0,h|0)|0;v=I;w=s+8|0;j=r+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;w=_o(f[w>>2]|0,f[w+4>>2]|0,i|0,j|0)|0;x=I;s=s+16|0;e=r+16|0;b=f[e>>2]|0;e=f[e+4>>2]|0;r=_o(f[s>>2]|0,f[s+4>>2]|0,b|0,e|0)|0;s=I;B=mo(t|0,v|0,t|0,v|0)|0;E=I;A=mo(w|0,x|0,w|0,x|0)|0;E=Kp(A|0,I|0,B|0,E|0)|0;B=I;A=mo(r|0,s|0,r|0,s|0)|0;A=Kp(E|0,B|0,A|0,I|0)|0;B=I;if((A|0)==0&(B|0)==0)break;J=z;J=_o(f[J>>2]|0,f[J+4>>2]|0,g|0,h|0)|0;H=I;G=z+8|0;G=_o(f[G>>2]|0,f[G+4>>2]|0,i|0,j|0)|0;F=I;g=z+16|0;g=_o(f[g>>2]|0,f[g+4>>2]|0,b|0,e|0)|0;h=I;E=mo(J|0,H|0,t|0,v|0)|0;b=I;j=mo(G|0,F|0,w|0,x|0)|0;b=Kp(j|0,I|0,E|0,b|0)|0;E=I;j=mo(g|0,h|0,r|0,s|0)|0;j=Kp(b|0,E|0,j|0,I|0)|0;E=I;b=_o(k|0,((k|0)<0)<<31>>31|0,n|0,o|0)|0;k=I;y=_o(l|0,((l|0)<0)<<31>>31|0,p|0,q|0)|0;d=I;n=mo(A|0,B|0,n|0,o|0)|0;m=I;p=mo(A|0,B|0,p|0,q|0)|0;o=I;c=mo(j|0,E|0,b|0,k|0)|0;z=I;i=mo(j|0,E|0,y|0,d|0)|0;l=I;m=Kp(c|0,z|0,n|0,m|0)|0;n=I;o=Kp(i|0,l|0,p|0,o|0)|0;p=I;l=mo(j|0,E|0,t|0,v|0)|0;i=I;z=mo(j|0,E|0,w|0,x|0)|0;c=I;E=mo(j|0,E|0,r|0,s|0)|0;j=I;i=jl(l|0,i|0,A|0,B|0)|0;l=I;c=jl(z|0,c|0,A|0,B|0)|0;z=I;j=jl(E|0,j|0,A|0,B|0)|0;E=I;l=_o(J|0,H|0,i|0,l|0)|0;i=I;z=_o(G|0,F|0,c|0,z|0)|0;c=I;E=_o(g|0,h|0,j|0,E|0)|0;j=I;i=mo(l|0,i|0,l|0,i|0)|0;l=I;c=mo(z|0,c|0,z|0,c|0)|0;l=Kp(c|0,I|0,i|0,l|0)|0;i=I;j=mo(E|0,j|0,E|0,j|0)|0;j=Kp(l|0,i|0,j|0,I|0)|0;i=I;k=_o(0,0,b|0,k|0)|0;l=I;i=mo(j|0,i|0,A|0,B|0)|0;j=I;b=j&2147483647;switch(i|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;g=i;h=j;C=18}break}case 1:{if(!b){e=1;b=0;C=19}else{e=1;b=0;g=i;h=j;C=18}break}default:{e=1;b=0;g=i;h=j;C=18}}if((C|0)==18)while(1){e=Ro(e|0,b|0,1)|0;b=I;J=g;g=Wo(g|0,h|0,2)|0;if(!(h>>>0>0|(h|0)==0&J>>>0>7)){C=19;break}else{h=I;C=18}}if((C|0)==19)while(1){J=Hq(i|0,j|0,e|0,b|0)|0;e=Kp(J|0,I|0,e|0,b|0)|0;e=Wo(e|0,I|0,1)|0;b=I;J=mo(e|0,b|0,e|0,b|0)|0;H=I;if(H>>>0>j>>>0|(H|0)==(j|0)&J>>>0>i>>>0)C=19;else break}E=mo(e|0,b|0,y|0,d|0)|0;F=I;C=mo(e|0,b|0,k|0,l|0)|0;G=I;H=a+20|0;c=(f[H>>2]|0)+-1|0;J=(1<<(c&31)&f[(f[a+16>>2]|0)+(c>>>5<<2)>>2]|0)!=0;f[H>>2]=c;H=_o(0,0,E|0,F|0)|0;F=Kp(m|0,n|0,(J?E:H)|0,(J?F:I)|0)|0;H=I;E=_o(0,0,C|0,G|0)|0;G=Kp(o|0,p|0,(J?C:E)|0,(J?G:I)|0)|0;J=I;H=jl(F|0,H|0,A|0,B|0)|0;J=jl(G|0,J|0,A|0,B|0)|0;f[a+8>>2]=H;f[a+12>>2]=J;u=D;return}while(0);do if(m)b=y<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}J=a+8|0;f[J>>2]=0;f[J+4>>2]=0;u=D;return}while(0);f[a+8>>2]=f[c+(b<<2)>>2];f[a+12>>2]=f[c+(b+1<<2)>>2];u=D;return}function Pb(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=Id(a,c)|0;if(e|0){f[z>>2]=e;f[y>>2]=f[z>>2];Mg(a,y)|0}im(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)Pq(c);e=no(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){Fh(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(!(nm(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(!(nm(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){Qi(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;Ri(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){Op(z);u=A;return}if((f[x>>2]|0)!=(e|0))f[x>>2]=e;ds(e);Op(z);u=A;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,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;P=u;u=u+96|0;E=P+72|0;J=P+48|0;K=P+24|0;L=P;H=a+4|0;if(!(f[H>>2]|0))Ga(11768,11790,46,11955);G=a+8|0;if(!(f[G>>2]|0))Ga(11768,11790,46,11955);F=a+16|0;i=f[F>>2]|0;l=f[c>>2]|0;f[E>>2]=i;f[E+4>>2]=l;D=E+8|0;f[D>>2]=l;b[E+12>>0]=1;m=(l|0)<0;if(m)k=-1073741824;else k=f[(f[i>>2]|0)+(l<<2)>>2]|0;C=a+20|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){Oq(i);c=f[i>>2]|0}bh(J,a,f[c+(k<<2)>>2]|0);i=f[D>>2]|0;v=a+28|0;c=(f[v>>2]|0)==0;a:do if((i|0)>=0){z=K+8|0;w=J+8|0;B=K+16|0;x=J+16|0;y=L+8|0;A=L+16|0;s=l+1|0;t=l+(m?0:((l>>>0)%3|0|0)==0?2:-1)|0;s=m?l:((s|0)%3|0|0)==0?l+-2|0:s;r=0;q=0;l=0;o=0;m=0;p=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)){n=i+2|0;break}else{n=i+-1|0;break}}else{c=s;n=t}while(0);if(!(f[H>>2]|0)){c=17;break}if(!(f[G>>2]|0)){c=17;break}if((c|0)<0)k=-1073741824;else k=f[(f[f[F>>2]>>2]|0)+(c<<2)>>2]|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){Oq(i);c=f[i>>2]|0}bh(K,a,f[c+(k<<2)>>2]|0);if(!(f[H>>2]|0)){c=25;break}if(!(f[G>>2]|0)){c=25;break}if((n|0)<0)k=-1073741824;else k=f[(f[f[F>>2]>>2]|0)+(n<<2)>>2]|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){Oq(i);c=f[i>>2]|0}bh(L,a,f[c+(k<<2)>>2]|0);i=K;Z=J;Y=f[Z>>2]|0;Z=f[Z+4>>2]|0;i=_o(f[i>>2]|0,f[i+4>>2]|0,Y|0,Z|0)|0;c=I;Q=z;$=w;_=f[$>>2]|0;$=f[$+4>>2]|0;Q=_o(f[Q>>2]|0,f[Q+4>>2]|0,_|0,$|0)|0;R=I;U=B;S=x;T=f[S>>2]|0;S=f[S+4>>2]|0;U=_o(f[U>>2]|0,f[U+4>>2]|0,T|0,S|0)|0;V=I;n=L;Z=_o(f[n>>2]|0,f[n+4>>2]|0,Y|0,Z|0)|0;Y=I;n=y;$=_o(f[n>>2]|0,f[n+4>>2]|0,_|0,$|0)|0;_=I;n=A;S=_o(f[n>>2]|0,f[n+4>>2]|0,T|0,S|0)|0;T=I;n=mo(S|0,T|0,Q|0,R|0)|0;k=I;X=mo($|0,_|0,U|0,V|0)|0;W=I;V=mo(Z|0,Y|0,U|0,V|0)|0;U=I;T=mo(S|0,T|0,i|0,c|0)|0;S=I;c=mo($|0,_|0,i|0,c|0)|0;i=I;R=mo(Z|0,Y|0,Q|0,R|0)|0;Q=I;r=_o(r|0,q|0,X|0,W|0)|0;k=Kp(r|0,I|0,n|0,k|0)|0;n=I;l=Kp(V|0,U|0,l|0,o|0)|0;l=_o(l|0,I|0,T|0,S|0)|0;o=I;m=_o(m|0,p|0,R|0,Q|0)|0;m=Kp(m|0,I|0,c|0,i|0)|0;p=I;Sh(E);i=f[D>>2]|0;c=(f[v>>2]|0)==0;if((i|0)<0){j=n;N=k;O=o;h=l;g=p;e=m;M=c;break a}else{r=k;q=n}}if((c|0)==17)Ga(11768,11977,70,12142);else if((c|0)==25)Ga(11768,11977,70,12142)}else{j=0;N=0;O=0;h=0;g=0;e=0;M=c}while(0);$=(j|0)>-1|(j|0)==-1&N>>>0>4294967295;i=_o(0,0,N|0,j|0)|0;c=$?j:I;W=(O|0)>-1|(O|0)==-1&h>>>0>4294967295;X=_o(0,0,h|0,O|0)|0;Y=W?O:I;_=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Z=_o(0,0,e|0,g|0)|0;_=Kp((W?h:X)|0,Y|0,(_?e:Z)|0,(_?g:I)|0)|0;c=Kp(_|0,I|0,($?N:i)|0,c|0)|0;i=I;if(M)if((c|0)>536870912){$=Wo(c|0,i|0,29)|0;$=$&7;i=jl(N|0,j|0,$|0,0)|0;j=I;h=jl(h|0,O|0,$|0,0)|0;c=I;e=jl(e|0,g|0,$|0,0)|0;g=I}else{i=N;c=O}else if((i|0)>0|(i|0)==0&c>>>0>536870912){_=Wo(c|0,i|0,29)|0;$=I;i=jl(N|0,j|0,_|0,$|0)|0;j=I;h=jl(h|0,O|0,_|0,$|0)|0;c=I;e=jl(e|0,g|0,_|0,$|0)|0;g=I}else{i=N;c=O}Z=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;_=_o(0,0,i|0,j|0)|0;$=Z?j:I;U=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;V=_o(0,0,h|0,c|0)|0;W=U?c:I;Y=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;X=_o(0,0,e|0,g|0)|0;Y=Kp((U?h:V)|0,W|0,(Y?e:X)|0,(Y?g:I)|0)|0;$=Kp(Y|0,I|0,(Z?i:_)|0,$|0)|0;_=I;if((_|0)<0|(_|0)==0&$>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=P;return}else Ga(12163,11790,95,11955)}function Rb(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=Kp(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(rk(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)<=257){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=Kp(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=Kp(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=Kp(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=Kp(k|0,l|0,9,0)|0;D=r;f[D>>2]=m;f[D+4>>2]=I;b[s>>0]=e&3|b[s>>0]&-4;e=f[o>>2]|0;if((e|0)==(f[p>>2]|0)){hj(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{rk(A,c)|0;f[k>>2]=(f[A>>2]|0)+j;rk(A,c)|0;j=f[k>>2]|0;f[B>>2]=j-(f[A>>2]|0);d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))hj(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);Nh(c,0,0)|0;k=f[w>>2]|0;if(k|0){o=c+36|0;l=a+36|0;p=c+32|0;m=c+24|0;n=c+28|0;d=0;q=0;do{if(b[o>>0]|0){d=f[p>>2]|0;g=f[m>>2]|0;j=f[n>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(d&7)&1;d=d+1|0;f[p>>2]=d}else i=0;e=g+(d>>>3)|0;if(e>>>0>>0){D=(h[e>>0]|0)>>>(d&7)&1;f[p>>2]=d+1;d=D}else d=0;d=d<<1|i}D=(f[l>>2]|0)+(q*12|0)+8|0;b[D>>0]=d&3|b[D>>0]&-4;q=q+1|0}while(q>>>0>>0)}gn(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=Kp(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=36}}else if(d<<16>>16==512)if(rk(B,c)|0){d=f[B>>2]|0;z=36}else d=-1;else z=50;b:do if((z|0)==36)if(!d)z=50;else{D=f[x>>2]|0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)>257){j=a+52|0;k=a+56|0;e=a+48|0;g=0;i=0;while(1){f[A>>2]=0;rk(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))Bj(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=50;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=Kp(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))Bj(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=50;break b}}d=-1}while(0);if((z|0)==50)d=f[c+16>>2]|0;D=d;u=C;return D|0}function Sb(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=La,p=La,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(w|0,((w|0)<0)<<31>>31|0,f[e>>2]|0,f[e+4>>2]|0)|0;y=Kp(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=Wg(S,O)|0;if(!e){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=Wo(s|0,t|0,16)|0;m=y&65535;q=t&65535;v=Wo(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=no(20)|0;v=Ro(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;Di(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=mo(e|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Fh((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{Xh(k,i-l|0,1592);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)Ga(21905,21924,89,22019);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);ds(i)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;ds(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return q|0}ds(e);u=T;return q|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,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;P=u;u=u+96|0;E=P+72|0;J=P+48|0;K=P+24|0;L=P;H=a+4|0;if(!(f[H>>2]|0))Ga(11768,11790,46,11955);G=a+8|0;if(!(f[G>>2]|0))Ga(11768,11790,46,11955);F=a+16|0;k=f[F>>2]|0;l=f[c>>2]|0;f[E>>2]=k;f[E+4>>2]=l;C=E+8|0;f[C>>2]=l;b[E+12>>0]=1;k=f[(f[k+28>>2]|0)+(l<<2)>>2]|0;D=a+20|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){Oq(i);c=f[i>>2]|0}bh(J,a,f[c+(k<<2)>>2]|0);i=f[C>>2]|0;v=a+28|0;c=(f[v>>2]|0)==0;a:do if((i|0)>=0){z=K+8|0;w=J+8|0;B=K+16|0;x=J+16|0;y=L+8|0;A=L+16|0;r=(l|0)<0;s=l+1|0;t=l+(r?0:((l>>>0)%3|0|0)==0?2:-1)|0;s=r?l:((s|0)%3|0|0)==0?l+-2|0:s;r=0;q=0;l=0;o=0;m=0;p=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)){n=i+2|0;break}else{n=i+-1|0;break}}else{c=s;n=t}while(0);if(!(f[H>>2]|0)){c=15;break}if(!(f[G>>2]|0)){c=15;break}k=f[(f[(f[F>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){Oq(i);c=f[i>>2]|0}bh(K,a,f[c+(k<<2)>>2]|0);if(!(f[H>>2]|0)){c=21;break}if(!(f[G>>2]|0)){c=21;break}k=f[(f[(f[F>>2]|0)+28>>2]|0)+(n<<2)>>2]|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){Oq(i);c=f[i>>2]|0}bh(L,a,f[c+(k<<2)>>2]|0);i=K;Z=J;Y=f[Z>>2]|0;Z=f[Z+4>>2]|0;i=_o(f[i>>2]|0,f[i+4>>2]|0,Y|0,Z|0)|0;c=I;Q=z;$=w;_=f[$>>2]|0;$=f[$+4>>2]|0;Q=_o(f[Q>>2]|0,f[Q+4>>2]|0,_|0,$|0)|0;R=I;U=B;S=x;T=f[S>>2]|0;S=f[S+4>>2]|0;U=_o(f[U>>2]|0,f[U+4>>2]|0,T|0,S|0)|0;V=I;n=L;Z=_o(f[n>>2]|0,f[n+4>>2]|0,Y|0,Z|0)|0;Y=I;n=y;$=_o(f[n>>2]|0,f[n+4>>2]|0,_|0,$|0)|0;_=I;n=A;S=_o(f[n>>2]|0,f[n+4>>2]|0,T|0,S|0)|0;T=I;n=mo(S|0,T|0,Q|0,R|0)|0;k=I;X=mo($|0,_|0,U|0,V|0)|0;W=I;V=mo(Z|0,Y|0,U|0,V|0)|0;U=I;T=mo(S|0,T|0,i|0,c|0)|0;S=I;c=mo($|0,_|0,i|0,c|0)|0;i=I;R=mo(Z|0,Y|0,Q|0,R|0)|0;Q=I;r=_o(r|0,q|0,X|0,W|0)|0;k=Kp(r|0,I|0,n|0,k|0)|0;n=I;l=Kp(V|0,U|0,l|0,o|0)|0;l=_o(l|0,I|0,T|0,S|0)|0;o=I;m=_o(m|0,p|0,R|0,Q|0)|0;m=Kp(m|0,I|0,c|0,i|0)|0;p=I;Gg(E);i=f[C>>2]|0;c=(f[v>>2]|0)==0;if((i|0)<0){j=n;N=k;O=o;h=l;g=p;e=m;M=c;break a}else{r=k;q=n}}if((c|0)==15)Ga(11768,11977,70,12142);else if((c|0)==21)Ga(11768,11977,70,12142)}else{j=0;N=0;O=0;h=0;g=0;e=0;M=c}while(0);$=(j|0)>-1|(j|0)==-1&N>>>0>4294967295;i=_o(0,0,N|0,j|0)|0;c=$?j:I;W=(O|0)>-1|(O|0)==-1&h>>>0>4294967295;X=_o(0,0,h|0,O|0)|0;Y=W?O:I;_=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Z=_o(0,0,e|0,g|0)|0;_=Kp((W?h:X)|0,Y|0,(_?e:Z)|0,(_?g:I)|0)|0;c=Kp(_|0,I|0,($?N:i)|0,c|0)|0;i=I;if(M)if((c|0)>536870912){$=Wo(c|0,i|0,29)|0;$=$&7;i=jl(N|0,j|0,$|0,0)|0;j=I;h=jl(h|0,O|0,$|0,0)|0;c=I;e=jl(e|0,g|0,$|0,0)|0;g=I}else{i=N;c=O}else if((i|0)>0|(i|0)==0&c>>>0>536870912){_=Wo(c|0,i|0,29)|0;$=I;i=jl(N|0,j|0,_|0,$|0)|0;j=I;h=jl(h|0,O|0,_|0,$|0)|0;c=I;e=jl(e|0,g|0,_|0,$|0)|0;g=I}else{i=N;c=O}Z=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;_=_o(0,0,i|0,j|0)|0;$=Z?j:I;U=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;V=_o(0,0,h|0,c|0)|0;W=U?c:I;Y=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;X=_o(0,0,e|0,g|0)|0;Y=Kp((U?h:V)|0,W|0,(Y?e:X)|0,(Y?g:I)|0)|0;$=Kp(Y|0,I|0,(Z?i:_)|0,$|0)|0;_=I;if((_|0)<0|(_|0)==0&$>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=P;return}else Ga(12163,11790,95,11955)}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;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=Kp(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=Kp(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=Kp(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:{Sd(s,a,d);d=f[s>>2]|0;break}case 1:{Nf(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=no(88)|0;i=f[a+224>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=4628;l=d+12|0;f[l>>2]=4652;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]=4652;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]=4652;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;Rh(v+8|0,i,s);Pa[f[(f[v>>2]|0)+8>>2]&255](v);zg(t,v);zg(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;dh(i,s)|0;f[s>>2]=4652;e=f[s+20>>2]|0;if(e|0)ds(e);e=f[s+8>>2]|0;if(e|0)ds(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=4652;e=f[t+20>>2]|0;if(e|0)ds(e);e=f[t+8>>2]|0;if(e|0)ds(e);f[d+8>>2]=f[w>>2];dh(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;Eg(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=4652;e=f[v+20>>2]|0;if(e|0)ds(e);e=f[v+8>>2]|0;if(e|0)ds(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);ds(e)}f[p>>2]=4652;e=f[w+24>>2]|0;if(e|0)ds(e);e=f[w+12>>2]|0;if(e|0)ds(e)}l=no(64)|0;f[x>>2]=d;mm(l,x);d=f[x>>2]|0;f[x>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](d);j=f[y>>2]|0;k=j+8|0;j=j+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){$g(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]&255](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]&255](d);c=1;u=A;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=La,o=La,p=0,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;d=Kp(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=Yg(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=no(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;Ki(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=mo(d|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Fh((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{Xh(j,g-k|0,1592);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)Ga(21905,21924,89,22019);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);ds(g)}d=f[R+8>>2]|0;if(d|0)do{Q=d;d=f[d>>2]|0;ds(Q)}while((d|0)!=0);d=f[R>>2]|0;f[R>>2]=0;if(!d){u=S;return p|0}ds(d);u=S;return p|0}function Wb(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]&255](a)|0)+4|0;a=f[a>>2]|0;if((e|0)<=-1)Ga(22609,22625,66,22717);d=f[a+8>>2]|0;if(((f[a+12>>2]|0)-d>>2|0)<=(e|0))Ga(22727,22625,67,22717);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=Kp(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=Kp(j|0,k|0,2,0)|0,p=o,f[p>>2]=i,f[p+4>>2]=I,p=Kp(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,jk(a,E)|0,Gp(B),f[r>>2]=a,f[r+4>>2]=0,f[C>>2]=f[r>>2],f[C+4>>2]=f[r+4>>2],pf(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=Kp(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;Lo(6462,s)|0;break}d=Kp(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;jk(a,E)|0;switch(i<<24>>24){case 0:{Ti(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=If(B,c,C)|0;Lg(B);if(E)a=1;else break a;u=D;return a|0}case 1:{Ti(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=Hf(B,c,C)|0;Lg(B);if(E)a=1;else break a;u=D;return a|0}case 2:{Ui(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=Kf(B,c,C)|0;Og(B);if(E)a=1;else break a;u=D;return a|0}case 3:{Ui(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=Jf(B,c,C)|0;Og(B);if(E)a=1;else break a;u=D;return a|0}case 4:{Ci(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=gf(B,c,C)|0;Bg(B);if(E)a=1;else break a;u=D;return a|0}case 5:{Ci(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=ff(B,c,C)|0;Bg(B);if(E)a=1;else break a;u=D;return a|0}case 6:{Ci(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=ef(B,c,C)|0;Bg(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 Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0,l=La,m=La,o=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+16|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+24|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];o=$(n[s>>2]);i=k+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=k+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);k=k+12|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];m=$(n[s>>2]);k=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+o>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+16|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d+24|0;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=La,o=La,p=0,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Kp(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));rn(L|0,d|0,16)|0;d=ah(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=no(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;Hi(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=mo(d|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Fh((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{Xh(i,g-j|0,1592);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)Ga(21905,21924,89,22019);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);ds(g)}d=f[P+8>>2]|0;if(d|0)do{O=d;d=f[d>>2]|0;ds(O)}while((d|0)!=0);d=f[P>>2]|0;f[P>>2]=0;if(!d){u=Q;return l|0}ds(d);u=Q;return l|0}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,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 mj(i,e-j|0);z=e>>>0>1073741823?-1:e<<2;A=as(z)|0;_j(A|0,0,z|0)|0;B=as(z)|0;_j(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){bs(B);bs(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){Oq(h);d=f[h>>2]|0}n=f[d+(o<<2)>>2]|0;if(v)_j(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}bs(B);bs(A);return 1}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,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 mj(i,e-j|0);y=e>>>0>1073741823?-1:e<<2;z=as(y)|0;_j(z|0,0,y|0)|0;A=as(y)|0;_j(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){bs(A);bs(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){Oq(h);d=f[h>>2]|0}a=f[d+(m<<2)>>2]|0;if(u)_j(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}bs(A);bs(z);return 1}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=La,p=La,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(k|0,((k|0)<0)<<31>>31|0,f[l>>2]|0,f[l+4>>2]|0)|0;m=Kp(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=no(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;Gi(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=mo(g|0,f[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Fh((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{Xh(k,i-l|0,1592);i=f[G>>2]|0}if((i|0)>0){j=f[H>>2]|0;if(b[m>>0]|0)Ga(21905,21924,89,22019);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);ds(i)}e=f[J+8>>2]|0;if(e|0)do{H=e;e=f[e>>2]|0;ds(H)}while((e|0)!=0);e=f[J>>2]|0;f[J>>2]=0;if(!e){u=K;return q|0}ds(e);u=K;return q|0}function ac(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=La,o=La,p=0,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(j|0,((j|0)<0)<<31>>31|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=Kp(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=no(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;ej(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=mo(e|0,f[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Fh((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{Xh(j,g-k|0,1592);g=f[F>>2]|0}if((g|0)>0){i=f[G>>2]|0;if(b[l>>0]|0)Ga(21905,21924,89,22019);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);ds(g)}d=f[H+8>>2]|0;if(d|0)do{G=d;d=f[d>>2]|0;ds(G)}while((d|0)!=0);d=f[H>>2]|0;f[H>>2]=0;if(!d){u=J;return p|0}ds(d);u=J;return p|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=La,m=La,o=0,p=0,q=0,r=0,s=0,t=0,v=0,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=La;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;xl(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=mo(i|0,((i|0)<0)<<31>>31|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=Kp(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=no(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;Ni(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=mo(e|0,f[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Fh((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{Xh(i,g-j|0,1592);g=f[E>>2]|0}if((g|0)>0){h=f[F>>2]|0;if(b[k>>0]|0)Ga(21905,21924,89,22019);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);ds(g)}d=f[G+8>>2]|0;if(d|0)do{F=d;d=f[d>>2]|0;ds(F)}while((d|0)!=0);d=f[G>>2]|0;f[G>>2]=0;if(!d){u=H;return o|0}ds(d);u=H;return o|0}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;if(!a)return;c=a+-8|0;d=f[6576]|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[6577]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[6574]=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[6572]=f[6572]&~(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=26592+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6573]=f[6573]&~(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[6577]|0;if((k|0)==(f[6578]|0)){k=(f[6575]|0)+b|0;f[6575]=k;f[6578]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[6577]=0;f[6574]=0;return}if((k|0)==(a|0)){k=(f[6574]|0)+b|0;f[6574]=k;f[6577]=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[6572]=f[6572]&~(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=26592+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6573]=f[6573]&~(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[6577]|0)){f[6574]=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=26328+(a<<1<<2)|0;b=f[6572]|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=26592+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[6573]|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[6573]=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[6580]|0)+-1|0;f[6580]=k;if(!k)a=26744;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[6580]=-1;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,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))Bj(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];mh(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];mh(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];mh(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)){Bj(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 ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,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))Bj(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];mh(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];mh(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];mh(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)){Bj(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 fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0,l=La,m=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+16|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function gc(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=Kp(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=Kp(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=Kp(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=Kp(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=Kp(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=Kp(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=Kp(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=Kp(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;Lo(22175,l)|0;z=0;u=w;return z|0}e=d;a:do if(g|0){Pj(d,g);switch(f[a>>2]|0){case 0:{Ti(v,3);f[m>>2]=e;f[t>>2]=f[m>>2];Cf(v,c,t)|0;Lg(v);break a}case 1:{Ti(v,3);f[n>>2]=e;f[t>>2]=f[n>>2];Bf(v,c,t)|0;Lg(v);break a}case 2:{Ui(v,3);f[o>>2]=e;f[t>>2]=f[o>>2];Ef(v,c,t)|0;Og(v);break a}case 3:{Ui(v,3);f[p>>2]=e;f[t>>2]=f[p>>2];Df(v,c,t)|0;Og(v);break a}case 4:{Ci(v,3);f[q>>2]=e;f[t>>2]=f[q>>2];Ue(v,c,t)|0;Bg(v);break a}case 5:{Ci(v,3);f[r>>2]=e;f[t>>2]=f[r>>2];Te(v,c,t)|0;Bg(v);break a}case 6:{Ci(v,3);f[s>>2]=e;f[t>>2]=f[s>>2];Se(v,c,t)|0;Bg(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 hc(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(!(nm(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(!(nm(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=no(24)|0;im(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;Ri(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 ic(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=Kp(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(rk(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){mj(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=Kp(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=Kp(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=Kp(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=Kp(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}Jm(A);H=X(bn(d)|0,j&255)|0;qk(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)>258){rk(E,c)|0;d=f[E>>2]|0}else{G=s;H=f[G>>2]|0;G=f[G+4>>2]|0;e=v;d=f[e>>2]|0;e=Kp(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}f[w>>2]=d;j=no(96)|0;wm(j,A);f[z>>2]=j;j=hi(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;ds(e)}ds(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);ds(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;ds(e)}ds(d)}ds(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{Xh(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(22609,22625,66,22717);else if((e|0)==43)Ga(22727,22625,67,22717);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 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=0,n=0,o=0,p=0,q=0,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 Bj(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))Bj(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 Bj(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){Bj(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(22894,22811,64,22889);else if((C|0)==33)Ga(22894,22811,64,22889)}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,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{mj(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=as(t)|0;_j(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){bs(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){Oq(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}bs(w);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,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{mj(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=as(u)|0;_j(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){bs(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){Oq(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}bs(x);return 1}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=La,k=0,l=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);k=k+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];j=$(n[s>>2]);k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];j=$(n[s>>2]);k=k+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);k=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=k;i=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+l>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function nc(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=no(60)|0;f[b>>2]=1884;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];zk(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]=2360;e=b;f[a>>2]=e;return}case 2:{b=no(60)|0;f[b>>2]=1884;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];zk(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]=2416;e=b;f[a>>2]=e;return}case 4:{b=no(112)|0;f[b>>2]=1884;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];zk(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]=2472;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=no(92)|0;f[b>>2]=1884;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];zk(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]=2528;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=no(104)|0;f[b>>2]=1884;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];zk(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]=2584;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=no(124)|0;f[b>>2]=1884;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];zk(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]=2640;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]=2696;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;Ar(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function oc(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=no(60)|0;f[b>>2]=1884;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];zk(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=no(60)|0;f[b>>2]=1884;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];zk(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=no(112)|0;f[b>>2]=1884;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];zk(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=no(92)|0;f[b>>2]=1884;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];zk(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=no(104)|0;f[b>>2]=1884;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];zk(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=no(124)|0;f[b>>2]=1884;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];zk(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;Ar(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;j=a+32|0;g=f[b>>2]|0;b=g+1|0;if((g|0)>=0){h=((b|0)%3|0|0)==0?g+-2|0:b;b=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((h|0)<0)g=-1073741824;else g=f[(f[f[j>>2]>>2]|0)+(h<<2)>>2]|0;if((b|0)<0){v=-1073741824;t=g}else{v=f[(f[f[j>>2]>>2]|0)+(b<<2)>>2]|0;t=g}}else{v=-1073741824;t=-1073741824}b=a+36|0;o=f[b>>2]|0;h=f[o+4>>2]|0;p=f[o>>2]|0;if(h-p>>2>>>0>t>>>0){g=p;j=o;b=p}else{Oq(o);j=f[b>>2]|0;g=f[j>>2]|0;h=f[j+4>>2]|0;b=f[o>>2]|0}b=f[b+(t<<2)>>2]|0;if(h-g>>2>>>0<=v>>>0){Oq(j);g=f[j>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+56>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+52>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}Qh(C,a,d);Qh(A,a,b);Qh(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+72>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+64|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+60>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+52>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+56|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+56|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;j=a+48|0;g=f[b>>2]|0;b=g+1|0;if((g|0)>=0){h=((b|0)%3|0|0)==0?g+-2|0:b;b=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((h|0)<0)g=-1073741824;else g=f[(f[f[j>>2]>>2]|0)+(h<<2)>>2]|0;if((b|0)<0){v=-1073741824;t=g}else{v=f[(f[f[j>>2]>>2]|0)+(b<<2)>>2]|0;t=g}}else{v=-1073741824;t=-1073741824}b=a+52|0;o=f[b>>2]|0;h=f[o+4>>2]|0;p=f[o>>2]|0;if(h-p>>2>>>0>t>>>0){g=p;j=o;b=p}else{Oq(o);j=f[b>>2]|0;g=f[j>>2]|0;h=f[j+4>>2]|0;b=f[o>>2]|0}b=f[b+(t<<2)>>2]|0;if(h-g>>2>>>0<=v>>>0){Oq(j);g=f[j>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+72>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+68>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}Uh(C,a,d);Uh(A,a,b);Uh(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+88>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+80|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+68>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+72|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+72|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}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;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=Kp(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;Jk(k,21308,29);f[a>>2]=-2;im(a+4|0,k);Op(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=Kp(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(nm(d,21338,5)|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Jk(k,21344,17);f[a>>2]=-1;im(a+4|0,k);Op(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;Jk(k,21308,29);f[a>>2]=-2;im(a+4|0,k);Op(k);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Kp(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;Jk(k,21308,29);f[a>>2]=-2;im(a+4|0,k);Op(k);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Kp(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;Jk(k,21308,29);f[a>>2]=-2;im(a+4|0,k);Op(k);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Kp(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;Jk(k,21308,29);f[a>>2]=-2;im(a+4|0,k);Op(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=Kp(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=Kp(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;Jk(k,21308,29);f[a>>2]=-2;im(a+4|0,k);Op(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=Kp(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 sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;h=a+32|0;g=f[b>>2]|0;b=g+1|0;do if((g|0)>=0){b=((b|0)%3|0|0)==0?g+-2|0:b;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else b=g;while(0);v=f[(f[h>>2]|0)+28>>2]|0;t=f[v+(b<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;b=f[h+4>>2]|0;p=f[h>>2]|0;if(b-p>>2>>>0>t>>>0){j=b;o=h;b=p;g=p}else{Oq(h);g=f[g>>2]|0;j=f[g+4>>2]|0;o=g;b=f[h>>2]|0;g=f[g>>2]|0}b=f[b+(t<<2)>>2]|0;if(j-g>>2>>>0<=v>>>0){Oq(o);g=f[o>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+56>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+52>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}Qh(C,a,d);Qh(A,a,b);Qh(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+72>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+64|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+60>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+52>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+56|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+56|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+52>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=La,g=0,h=0,i=La,j=0,k=La,l=La,m=La,o=0,p=0,q=La,r=La,t=0,v=0,w=La,x=La,y=La,z=La,A=0,B=0,C=0,D=0,E=La;D=u;u=u+48|0;C=D+24|0;A=D+12|0;B=D;h=a+48|0;g=f[b>>2]|0;b=g+1|0;do if((g|0)>=0){b=((b|0)%3|0|0)==0?g+-2|0:b;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else b=g;while(0);v=f[(f[h>>2]|0)+28>>2]|0;t=f[v+(b<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+52|0;h=f[g>>2]|0;b=f[h+4>>2]|0;p=f[h>>2]|0;if(b-p>>2>>>0>t>>>0){j=b;o=h;b=p;g=p}else{Oq(h);g=f[g>>2]|0;j=f[g+4>>2]|0;o=g;b=f[h>>2]|0;g=f[g>>2]|0}b=f[b+(t<<2)>>2]|0;if(j-g>>2>>>0<=v>>>0){Oq(o);g=f[o>>2]|0}h=f[g+(v<<2)>>2]|0;g=(b|0)<(d|0);if(g&(h|0)<(d|0)){v=f[a+72>>2]|0;t=X(v,b)|0;y=$(f[c+(t<<2)>>2]|0);z=$(f[c+(t+1<<2)>>2]|0);v=X(v,h)|0;x=$(f[c+(v<<2)>>2]|0);w=$(f[c+(v+1<<2)>>2]|0);if(!(x!=y|w!=z)){a=f[a+68>>2]|0;f[a>>2]=~~x;f[a+4>>2]=~~w;u=D;return}Uh(C,a,d);Uh(A,a,b);Uh(B,a,h);r=$(n[B>>2]);m=$(n[A>>2]);r=$(r-m);q=$(n[B+4>>2]);i=$(n[A+4>>2]);q=$(q-i);l=$(n[B+8>>2]);e=$(n[A+8>>2]);l=$(l-e);m=$($(n[C>>2])-m);i=$($(n[C+4>>2])-i);e=$($(n[C+8>>2])-e);k=$($($($(r*r)+$(0.0))+$(q*q))+$(l*l));if(k>$(0.0)?1:(f[a+88>>2]|0)<258){E=$($($($($(r*m)+$(0.0))+$(q*i))+$(l*e))/k);r=$(m-$(r*E));q=$(i-$(q*E));e=$(e-$(l*E));i=E;e=$(L($($($(e*e)+$($(q*q)+$($(r*r)+$(0.0))))/k)))}else{i=$(0.0);e=$(0.0)}x=$(x-y);E=$(w-z);y=$(y+$(x*i));x=$(x*e);z=$(z+$(E*i));E=$(E*e);c=a+80|0;B=(f[c>>2]|0)+-1|0;C=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[c>>2]=B;i=$(-x);i=$(z+(C?i:x));e=$(-E);e=$(y+(C?E:e));if(((n[s>>2]=e,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+e+.5));g=f[a+68>>2]|0;f[g>>2]=b;if(((n[s>>2]=i,f[s>>2]|0)&2147483647)>>>0>2139095040)b=-2147483648;else b=~~+J(+(+i+.5));f[g+4>>2]=b;u=D;return}do if(!g){if((d|0)>0){b=d+-1|0;break}h=a+72|0;if((f[h>>2]|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[h>>2]|0));u=D;return}while(0);j=a+72|0;C=f[j>>2]|0;h=X(C,b)|0;if((C|0)<=0){u=D;return}b=f[a+68>>2]|0;g=0;do{f[b+(g<<2)>>2]=f[c+(g+h<<2)>>2];g=g+1|0}while((g|0)<(f[j>>2]|0));u=D;return}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;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{rn(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;Hr(o);sa(o|0,1488,137)}g=no(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){ds(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;Hr(o);sa(o|0,1488,137)}d=no(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=no(4092)|0;f[j>>2]=e;zh(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;uh(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)ds(d);u=o;return}if((c|0)!=(b|0)){n=no(4092)|0;f[k>>2]=n;zh(a,k);u=o;return}j=no(4092)|0;f[k>>2]=j;uh(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{rn(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;Hr(o);sa(o|0,1488,137)}g=no(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){ds(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function vc(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=La,o=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~m;f[d+4>>2]=~~l;f[d+8>>2]=~~k;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];o=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];k=$(n[s>>2]);i=j+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+12|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);f[d>>2]=~~o;f[d+4>>2]=~~k;f[d+8>>2]=~~l;f[d+12>>2]=~~m;j=1;return j|0}default:{j=0;return j|0}}return 0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,4,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);i=$(e*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}c=g+c|0;l=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c>>>0)}else{e=$(e*$(2.32830644e-10));n[d>>2]=e;e=$($(c>>>0)*$(2.32830644e-10))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,12,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c>>>0);e=$(g>>>0)}else{i=$(e*$(2.32830644e-10));n[d>>2]=i;i=$($(c>>>0)*$(2.32830644e-10));e=$($(g>>>0)*$(2.32830644e-10))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,16,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=l+12|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c>>>0);n[d+4>>2]=i;i=$(g>>>0);n[d+8>>2]=i;i=$(j>>>0);n[d+12>>2]=i;l=1;return l|0}else{i=$(e*$(2.32830644e-10));n[d>>2]=i;i=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=i;i=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=i;i=$($(j>>>0)*$(2.32830644e-10));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,4,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);i=$(e*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}c=g+c|0;l=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c|0)}else{e=$(e*$(4.65661287e-10));n[d>>2]=e;e=$($(c|0)*$(4.65661287e-10))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,12,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c|0);e=$(g|0)}else{i=$(e*$(4.65661287e-10));n[d>>2]=i;i=$($(c|0)*$(4.65661287e-10));e=$($(g|0)*$(4.65661287e-10))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,16,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=l+12|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c|0);n[d+4>>2]=i;i=$(g|0);n[d+8>>2]=i;i=$(j|0);n[d+12>>2]=i;l=1;return l|0}else{i=$(e*$(4.65661287e-10));n[d>>2]=i;i=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=i;i=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=i;i=$($(j|0)*$(4.65661287e-10));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,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))Bj(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))Bj(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))Bj(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){Bj(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 zc(a,b,c,d,e,g){a=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[a+12>>2]|0;if((d|0)<=1)Ga(10399,10410,60,10526);if((d|0)>=31)Ga(10546,10410,61,10526);f[a+76>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11768,12583,99,12741);if((e|0)!=2)Ga(12763,12583,102,12741);p=a+40|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+92|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){Oq(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Tb(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=Kp(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=Kp(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=mo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=jl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=mo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=jl(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=Cl(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;$i(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(12787,12583,116,12741);else if((d|0)==23)Ga(12854,10410,99,12942);return 0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);e=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c>>>0)}else{e=$(e*$(2.32830644e-10));n[d>>2]=e;e=$($(c>>>0)*$(2.32830644e-10))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c>>>0);n[d+4>>2]=l;l=$(g>>>0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;l=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c>>>0);n[d+4>>2]=l;l=$(g>>>0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;l=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Bc(a,b,c,d,e,g){a=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[a+12>>2]|0;if((d|0)<=1)Ga(10399,10410,60,10526);if((d|0)>=31)Ga(10546,10410,61,10526);f[a+76>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11768,12583,99,12741);if((e|0)!=2)Ga(12763,12583,102,12741);p=a+40|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+92|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){Oq(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Qb(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=Kp(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=Kp(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=mo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=jl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=mo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=jl(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=Cl(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;$i(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(12787,12583,116,12741);else if((d|0)==23)Ga(12854,10410,99,12942);return 0}function Cc(a,b,c,d,e,g){a=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[a+12>>2]|0;if((d|0)<=1)Ga(10399,10410,60,10526);if((d|0)>=31)Ga(10546,10410,61,10526);f[a+76>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11768,12583,99,12741);if((e|0)!=2)Ga(12763,12583,102,12741);p=a+40|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+92|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){Oq(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Tb(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=Kp(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=Kp(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=mo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=jl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=mo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=jl(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=Cl(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;dj(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(12787,12583,116,12741);else if((d|0)==23)Ga(12854,10410,99,12942);return 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;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[a+12>>2]|0;if((d|0)<=1)Ga(10399,10410,60,10526);if((d|0)>=31)Ga(10546,10410,61,10526);f[a+76>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+84|0;f[s>>2]=t;r=a+88|0;f[r>>2]=(t|0)/2|0;t=a+44|0;f[a+52>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&255](a)|0))Ga(11768,12583,99,12741);if((e|0)!=2)Ga(12763,12583,102,12741);p=a+40|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+92|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){Oq(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Qb(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=Kp(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=Kp(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=mo(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=jl(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=mo(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=jl(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=Cl(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;dj(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(12787,12583,116,12741);else if((d|0)==23)Ga(12854,10410,99,12942);return 0}function Ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);e=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c|0)}else{e=$(e*$(4.65661287e-10));n[d>>2]=e;e=$($(c|0)*$(4.65661287e-10))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c|0);n[d+4>>2]=l;l=$(g|0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;l=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c|0);n[d+4>>2]=l;l=$(g|0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;l=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8)<<16>>16);i=$(e/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>16&65535;e=$((l&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<16>>16)}else{e=$(e/$(32767.0));n[d>>2]=e;e=$($(c<<16>>16)/$(32767.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,6,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=l+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[l>>0]|h[l+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<16>>16);e=$(g<<16>>16)}else{i=$(e/$(32767.0));n[d>>2]=i;i=$($(c<<16>>16)/$(32767.0));e=$($(g<<16>>16)/$(32767.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}j=g+c|0;k=j;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;l=(b[a+32>>0]|0)==0;c=(Wo(k|0,j|0,16)|0)&65535;g=j&65535;a=(Wo(k|0,j|0,48)|0)&65535;e=$((k&65535)<<16>>16);if(l){n[d>>2]=e;i=$(c<<16>>16);n[d+4>>2]=i;i=$(g<<16>>16);n[d+8>>2]=i;i=$(a<<16>>16);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(32767.0));n[d>>2]=i;i=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=i;i=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=i;i=$($(a<<16>>16)/$(32767.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Gc(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=La;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~m;f[d+4>>2]=~~l;f[d+8>>2]=~~k;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);f[d>>2]=~~k;f[d+4>>2]=~~l;f[d+8>>2]=~~m;j=1;return j|0}default:{j=0;return j|0}}return 0}function Hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=La,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8)&65535);i=$(e/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>16&65535;e=$(l&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&65535)}else{e=$(e/$(65535.0));n[d>>2]=e;e=$($(c&65535)/$(65535.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,6,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=l+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[l>>0]|h[l+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&65535);e=$(g&65535)}else{i=$(e/$(65535.0));n[d>>2]=i;i=$($(c&65535)/$(65535.0));e=$($(g&65535)/$(65535.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=Kp(mo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=Kp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}j=g+c|0;k=j;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;l=(b[a+32>>0]|0)==0;c=(Wo(k|0,j|0,16)|0)&65535;g=j&65535;a=(Wo(k|0,j|0,48)|0)&65535;e=$(k&65535);if(l){n[d>>2]=e;i=$(c&65535);n[d+4>>2]=i;i=$(g&65535);n[d+8>>2]=i;i=$(a&65535);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(65535.0));n[d>>2]=i;i=$($(c&65535)/$(65535.0));n[d+4>>2]=i;i=$($(g&65535)/$(65535.0));n[d+8>>2]=i;i=$($(a&65535)/$(65535.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=Do(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=Do(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;e=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=i+4|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;g=i+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+12|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=e;f[j+4>>2]=((e|0)<0)<<31>>31;j=d+8|0;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+16|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+24|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Jc(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=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3244;e=b;f[a>>2]=e;return}case 2:{b=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3300;e=b;f[a>>2]=e;return}case 4:{b=no(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2804;h=b+28|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]=3356;h=b+44|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=no(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3412;e=b+44|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+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=no(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3468;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;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];e=b;f[a>>2]=e;return}case 6:{b=no(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3524;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];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+44>>2]=3580;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Ar(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((b|0)<0)return;m=a+12|0;l=f[m>>2]|0;c=f[a+8>>2]|0;j=l;if(l-c>>2>>>0<=b>>>0)return;d=c+(b<<2)|0;l=f[(f[d>>2]|0)+56>>2]|0;c=d+4|0;if((c|0)!=(j|0)){do{h=f[c>>2]|0;f[c>>2]=0;i=f[d>>2]|0;f[d>>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;ds(g)}ds(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);ds(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;ds(g)}ds(e)}ds(i)}c=c+4|0;d=d+4|0}while((c|0)!=(j|0));c=f[m>>2]|0;if((c|0)!=(d|0)){h=d;k=24}}else{c=j;h=d;k=24}if((k|0)==24)do{k=c+-4|0;f[m>>2]=k;g=f[k>>2]|0;f[k>>2]=0;if(g|0){k=g+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;ds(d)}ds(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);ds(c)}k=g+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;ds(d)}ds(c)}ds(g)}c=f[m>>2]|0}while((c|0)!=(h|0));a:do if((l|0)<5){c=f[a+20+(l*12|0)>>2]|0;i=a+20+(l*12|0)+4|0;d=f[i>>2]|0;e=d;b:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break b;c=c+4|0;if((c|0)==(d|0))break a}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){rn(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 Lc(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=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=2880;e=b;f[a>>2]=e;return}case 2:{b=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=2936;e=b;f[a>>2]=e;return}case 4:{b=no(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2804;h=b+28|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]=2992;h=b+44|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=no(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3048;e=b+44|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+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=no(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3104;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;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];e=b;f[a>>2]=e;return}case 6:{b=no(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2804;e=b+28|0;f[e>>2]=f[g>>2];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]=3160;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];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+44>>2]=3216;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Ar(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Mc(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=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=4028;e=b;f[a>>2]=e;return}case 2:{b=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=4084;e=b;f[a>>2]=e;return}case 4:{b=no(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2784;h=b+28|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]=4140;h=b+44|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=no(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=4196;e=b+44|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+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=no(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=4252;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;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];e=b;f[a>>2]=e;return}case 6:{b=no(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=4308;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];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+44>>2]=4364;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Ar(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Nc(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=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=3664;e=b;f[a>>2]=e;return}case 2:{b=no(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=3720;e=b;f[a>>2]=e;return}case 4:{b=no(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2784;h=b+28|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]=3776;h=b+44|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=no(76)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=3832;e=b+44|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+72>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=no(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=3888;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;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];e=b;f[a>>2]=e;return}case 6:{b=no(108)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2784;e=b+28|0;f[e>>2]=f[g>>2];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]=3944;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];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+44>>2]=4e3;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Ar(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);e=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$((k&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<16>>16)}else{e=$(e/$(32767.0));n[d>>2]=e;e=$($(c<<16>>16)/$(32767.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=k+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;l=$(g<<16>>16);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;l=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|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;k=(b[a+32>>0]|0)==0;c=(Wo(j|0,g|0,16)|0)&65535;g=g&65535;e=$((j&65535)<<16>>16);if(k){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;l=$(g<<16>>16);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;l=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=La,g=0,i=0,j=0,k=0,l=La;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)&65535);e=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$(k&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&65535)}else{e=$(e/$(65535.0));n[d>>2]=e;e=$($(c&65535)/$(65535.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=k+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;l=$(g&65535);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;l=$($(g&65535)/$(65535.0));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=Kp(mo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=Kp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|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;k=(b[a+32>>0]|0)==0;c=(Wo(j|0,g|0,16)|0)&65535;g=g&65535;e=$(j&65535);if(k){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;l=$(g&65535);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;l=$($(g&65535)/$(65535.0));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0} +function nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=Kp(mo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}function of(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+16|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(11111,10410,250,11134);if((e|0)<(g|0))Ga(11146,10410,251,11134);h=0-e|0;if((i|0)<(h|0))Ga(11169,10410,252,11134);if((g|0)<(h|0))Ga(11193,10410,253,11134);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){Pi(b+4|0,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+8>>2]|0)+e|0}else e=e-(f[b+8>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+8>>2]|0)+g|0}else g=g-(f[b+8>>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}Pi(b+4|0,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 pf(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=Kp(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=Kp(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(gc(a,c,t)|0)break b;else{i=0;break a}else{Im(6683,23,1,f[1293]|0)|0;i=0;break a}}case 2:{if(!(gc(a,c,t)|0)){i=0;break a}break}default:{Im(6707,24,1,f[1293]|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];Qf(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);ds(e);u=w;return i|0}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8)&255;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=d;f[j>>2]=h[c+e>>0];f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function rf(a,b,c,d,e,g){a=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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=as(s)|0;_j(r|0,0,s|0)|0;s=a+8|0;$i(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){bs(r);return 1}l=p+12|0;m=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){Oq(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;k=X(a,e)|0;if((d|0)>=0?(t=f[(f[l>>2]|0)+(d<<2)>>2]|0,(t|0)>=0):0){g=f[p>>2]|0;h=f[q>>2]|0;i=f[h+(f[g+(t<<2)>>2]<<2)>>2]|0;d=t+1|0;d=((d|0)%3|0|0)==0?t+-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=(((t>>>0)%3|0|0)==0?2:-1)+t|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(m){d=0;do{f[r+(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))}$i(s,r,b+(k<<2)|0,c+(k<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;$i(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(k<<2)|0,c+(k<<2)|0)}a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}bs(r);return 1}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,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){Pq(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;jj(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;rn(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)ds(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;_j(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;_j(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 tf(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=no(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;ej(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 uf(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;o=u;u=u+32|0;k=o+16|0;j=o;i=c+8|0;m=i;l=f[m+4>>2]|0;n=c+16|0;d=n;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((l|0)>(d|0)|((l|0)==(d|0)?(f[m>>2]|0)>>>0>e>>>0:0))){a=0;u=o;return a|0}m=b[(f[c>>2]|0)+e>>0]|0;g=Kp(e|0,d|0,1,0)|0;l=n;f[l>>2]=g;f[l+4>>2]=I;if(m<<24>>24){a=0;u=o;return a|0}g=0;do{rk(k,c)|0;d=f[k>>2]|0;if(d|0){e=a+60+(g*12|0)|0;sf(e,d,0);Ar(j);xg(j,c)|0;if(f[k>>2]|0){d=0;do{q=Cl(j)|0;m=(f[e>>2]|0)+(d>>>5<<2)|0;l=1<<(d&31);p=f[m>>2]|0;f[m>>2]=q?p|l:p&~l;d=d+1|0}while(d>>>0<(f[k>>2]|0)>>>0)}is(j)}g=g+1|0}while((g|0)<4);l=i;k=f[l>>2]|0;l=f[l+4>>2]|0;e=n;d=f[e>>2]|0;e=f[e+4>>2]|0;m=Kp(d|0,e|0,4,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){q=0;u=o;return q|0}i=f[c>>2]|0;j=i+d|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;q=n;f[q>>2]=m;f[q+4>>2]=g;d=Kp(d|0,e|0,8,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&k>>>0>>0){q=0;u=o;return q|0}q=i+m|0;q=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;p=n;f[p>>2]=d;f[p+4>>2]=e;f[a+12>>2]=j;f[a+16>>2]=q;q=q+(1-j)|0;f[a+20>>2]=q;d=(q|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(q&1|0){q=1;u=o;return q|0}f[e>>2]=d+-1;q=1;u=o;return q|0}function vf(a,b,c,d,e,g){a=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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=as(s)|0;_j(r|0,0,s|0)|0;s=a+8|0;dj(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){bs(r);return 1}l=p+12|0;m=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){Oq(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;k=X(a,e)|0;if((d|0)>=0?(t=f[(f[l>>2]|0)+(d<<2)>>2]|0,(t|0)>=0):0){g=f[p>>2]|0;h=f[q>>2]|0;i=f[h+(f[g+(t<<2)>>2]<<2)>>2]|0;d=t+1|0;d=((d|0)%3|0|0)==0?t+-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=(((t>>>0)%3|0|0)==0?2:-1)+t|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(m){d=0;do{f[r+(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))}dj(s,r,b+(k<<2)|0,c+(k<<2)|0)}else u=16}else u=16;if((u|0)==16){u=0;dj(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(k<<2)|0,c+(k<<2)|0)}a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}bs(r);return 1}function wf(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]&255](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]&255](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]&255](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;Jk(m,20134,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)?(Oi(n,m)|0)!=0:0)c=Pk(n,m,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=Pk(g,m,0)|0}Op(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;Rf(o,Th(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 xf(a,b,c,d,e,g){a=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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=as(s)|0;_j(r|0,0,s|0)|0;s=a+8|0;$i(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){bs(r);return 1}m=p+64|0;k=p+28|0;l=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){Oq(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;j=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(w=f[(f[(f[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(w|0)>=0):0)?(v=f[k>>2]|0,i=f[q>>2]|0,t=f[i+(f[v+(w<<2)>>2]<<2)>>2]|0,u=w+1|0,u=f[i+(f[v+((((u|0)%3|0|0)==0?w+-2|0:u)<<2)>>2]<<2)>>2]|0,v=f[i+(f[v+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(t|0)<(a|0)&(u|0)<(a|0)&(v|0)<(a|0)):0){g=X(t,e)|0;h=X(u,e)|0;i=X(v,e)|0;if(l){d=0;do{f[r+(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))}$i(s,r,b+(j<<2)|0,c+(j<<2)|0)}else $i(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0);a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}bs(r);return 1}function yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=((h[j>>0]|h[j+1>>0]<<8)&65535)<<24>>24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}f[d>>2]=b[c+e>>0];j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<24>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=Kp(mo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=Kp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)&255;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}f[d>>2]=h[c+e>>0];j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=Kp(mo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=Kp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&255;j=1;return j|0}default:{j=0;return j|0}}return 0}function Af(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 Bf(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=Kp(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=Kp(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=Kp(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=Kp(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(!(Ig(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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];hb(a,q,n);q=1;u=o;return q|0}function Cf(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=Kp(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=Kp(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=Kp(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=Kp(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(!(Ig(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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];fb(a,q,n);q=1;u=o;return q|0}function Df(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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 Ef(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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 Ff(a,b,c,d,e,g){a=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;p=f[a+32>>2]|0;q=f[a+36>>2]|0;s=e>>>0>1073741823?-1:e<<2;r=as(s)|0;_j(r|0,0,s|0)|0;s=a+8|0;dj(s,r,b,c);n=a+40|0;g=f[n>>2]|0;a=f[g+4>>2]|0;d=f[g>>2]|0;m=a-d|0;o=m>>2;if((m|0)<=4){bs(r);return 1}m=p+64|0;k=p+28|0;l=(e|0)>0;h=a;a=1;while(1){if(h-d>>2>>>0<=a>>>0){Oq(g);d=f[g>>2]|0}d=f[d+(a<<2)>>2]|0;j=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(w=f[(f[(f[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(w|0)>=0):0)?(v=f[k>>2]|0,i=f[q>>2]|0,t=f[i+(f[v+(w<<2)>>2]<<2)>>2]|0,u=w+1|0,u=f[i+(f[v+((((u|0)%3|0|0)==0?w+-2|0:u)<<2)>>2]<<2)>>2]|0,v=f[i+(f[v+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(t|0)<(a|0)&(u|0)<(a|0)&(v|0)<(a|0)):0){g=X(t,e)|0;h=X(u,e)|0;i=X(v,e)|0;if(l){d=0;do{f[r+(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))}dj(s,r,b+(j<<2)|0,c+(j<<2)|0)}else dj(s,c+((X(a+-1|0,e)|0)<<2)|0,b+(j<<2)|0,c+(j<<2)|0);a=a+1|0;if((a|0)>=(o|0))break;h=f[n>>2]|0;g=h;d=f[h>>2]|0;h=f[h+4>>2]|0}bs(r);return 1}function Gf(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;q=u;u=u+16|0;p=q;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;o=b+16|0;d=o;c=f[d>>2]|0;d=Kp(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){p=0;u=q;return p|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=o;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){p=0;u=q;return p|0}sf(a+76|0,g,0);Ar(p);if(xg(p,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Cl(p)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;r=1<<(d&31);s=f[j>>2]|0;f[j>>2]=e?s|r:s&~r;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Kp(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=o,f[m>>2]=i,f[m+4>>2]=j,m=Kp(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0){s=k+i|0;s=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;c=o;f[c>>2]=m;f[c+4>>2]=n;f[a+12>>2]=l;f[a+16>>2]=s;s=s+(1-l)|0;f[a+20>>2]=s;c=(s|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(s&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;is(p);s=c;u=q;return s|0}function Hf(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=Kp(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=Kp(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=Kp(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=Kp(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(!(Ig(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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];gb(a,q,n);q=1;u=o;return q|0}function If(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=Kp(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=Kp(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=Kp(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=Kp(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(!(Ig(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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];eb(a,q,n);q=1;u=o;return q|0}function Jf(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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 Kf(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=Kp(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=Kp(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=Kp(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=Kp(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(!(xg(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(Ig(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 Lf(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;q=u;u=u+16|0;p=q;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;o=b+16|0;d=o;c=f[d>>2]|0;d=Kp(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){p=0;u=q;return p|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=o;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){p=0;u=q;return p|0}e=a+76|0;sf(e,g,0);Ar(p);if(xg(p,b)|0){if((g|0)>0){c=0;d=1;do{d=d^((Cl(p)|0)^1);j=(f[e>>2]|0)+(c>>>5<<2)|0;r=1<<(c&31);s=f[j>>2]|0;f[j>>2]=d?s|r:s&~r;c=c+1|0}while((c|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Kp(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=o,f[m>>2]=i,f[m+4>>2]=j,m=Kp(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0){s=k+i|0;s=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;c=o;f[c>>2]=m;f[c+4>>2]=n;f[a+12>>2]=l;f[a+16>>2]=s;s=s+(1-l)|0;f[a+20>>2]=s;c=(s|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(s&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;is(p);s=c;u=q;return s|0}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,n=0,o=0;m=u;u=u+16|0;k=m;if(!(ic(a,c)|0)){a=0;u=m;return a|0}j=Sa[f[(f[a>>2]|0)+24>>2]&255](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]&255](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else $g(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=Kp(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]&255](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&255](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]&255](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 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;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=no(124)|0;f[h+4>>2]=0;f[h>>2]=4676;f[h+12>>2]=4700;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]=4700;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]=4700;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;Rh(l+8|0,c,i);Pa[f[(f[l>>2]|0)+8>>2]&255](l);f[m>>2]=f[j>>2];dh(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;hh(h,m);f[a>>2]=g;f[l>>2]=4700;e=f[l+20>>2]|0;if(e|0)ds(e);e=f[l+8>>2]|0;if(!e){zj(m);u=n;return}ds(e);zj(m);u=n;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,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+320|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(Cl((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 Bj(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{Bj(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 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,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+320|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(Cl((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 Bj(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{Bj(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 Qf(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(6732,6752,66,6873);s=(1<>2])+-1|0;zq(t);Ho(t,h,s);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=mo(c|0,((c|0)<0)<<31>>31|0,B|0,f[C+4>>2]|0)|0;Fh((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 Rf(a,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=no(32)|0;zo(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;ds(d)}ds(g);d=f[h>>2]|0}ul(a,d,0,0,0,0);d=a}else d=a;if(!(Uj(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))Eg(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;ds(e)}ds(d);return}l=no(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)Pq(e);k=no(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){Fh(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;ds(d)}ds(g);return}function Sf(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 Tf(a,b,c,d,e,g){a=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(22609,22625,58,22717);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(22727,22625,59,22717);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&255](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&255](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;Lc(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;Jc(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 Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;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+320|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(Cl((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 Bj(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{Bj(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 Vf(a,b,c,d,e,g){a=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(22609,22625,58,22717);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(22727,22625,59,22717);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&255](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&255](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;Nc(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;Mc(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 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,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(b)if(d>>>0>1073741823){Pq(m);o=Ia(4)|0;Hr(o);sa(o|0,1488,137)}else{j=b*12|0;c=no(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;_j(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(Sj(d,1,f[a+32>>2]|0,c)|0)if((b|0)>0){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))hj(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=1;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);ds(c);u=o;return a|0}function Xf(a,b,c,d,e,g){a=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(22609,22625,58,22717);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(22727,22625,59,22717);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&255](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&255](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;oc(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;nc(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 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,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Xb(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Nd(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=kd(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=id(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Qc(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Rc(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Ic(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 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,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=fc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Vd(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Jd(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Gd(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=dd(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=hd(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Vc(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}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;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=mc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=ye(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Wd(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Ud(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Md(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Pd(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Ad(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}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;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=fd(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=qf(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Qe(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Oe(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=fe(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Le(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=we(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}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,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=vc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=ze(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=xe(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Rd(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Qd(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Ge(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Ge(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}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,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Gc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Me(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Ke(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=_d(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Yd(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Pe(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Pe(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function cg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=bd(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=mf(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=cf(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=ue(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Ie(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Ed(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Ed(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}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,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Xd(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=zf(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=yf(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=nf(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=lf(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Ve(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Ve(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function eg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Ee(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Xc(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Tc(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Hc(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Fc(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=wc(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=xc(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}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,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Ne(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=gd(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=ad(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Pc(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Oc(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Ac(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Ec(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function gg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Dd(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Cd(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=zd(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=cd(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=$c(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Uc(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Wc(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}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;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Ve(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=He(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=De(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=re(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=he(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=$d(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=ae(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function ig(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=no(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;Dr(e);if(!(Bh(e,f[b+32>>2]|0,g)|0)){f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Jk(c,21362,26);f[a>>2]=-1;im(a+4|0,c);Op(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){Jj(b);ds(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}ds(c)}Jj(g);ds(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){Jj(b);ds(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}ds(c)}Jj(g);ds(g)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=h;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,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{Xh(j,m-l|0,4664);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(22894,22811,64,22889);else if((e|0)==12)Ga(21905,21924,89,22019);else if((e|0)==14)return d|0;return 0}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;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;pn(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){Pq(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;Hr(l);sa(l|0,1488,137)}else{e=no(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;pn(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);ud(a,k);uj(k);u=l;return}function lg(a,c){a=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{Xh(j,m-l|0,4664);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(22894,22811,64,22889);else if((e|0)==12)Ga(21905,21924,89,22019);else if((e|0)==13)return d|0;return 0}function mg(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(ke(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Xe(m,b)|0;if(d&e){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=d}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);ds(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);ds(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);ds(b);u=n;return g|0}function ng(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(le(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Ye(m,b)|0;if(d&e){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=d}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);ds(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);ds(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);ds(b);u=n;return g|0}function og(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(me(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=Ze(m,b)|0;if(d&e){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=d}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);ds(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);ds(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);ds(b);u=n;return g|0}function pg(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(ne(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=_e(m,b)|0;if(d&e){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=d}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);ds(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);ds(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);ds(b);u=n;return g|0}function qg(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(oe(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=$e(m,b)|0;if(d&e){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=d}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);ds(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);ds(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);ds(b);u=n;return g|0}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,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{Xh(j,m-l|0,4664);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(22894,22811,64,22889);else if((e|0)==12)Ga(21905,21924,89,22019);else if((e|0)==13)return d|0;return 0}function sg(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(pe(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=af(m,b)|0;if(d&e){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=d}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);ds(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);ds(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);ds(b);u=n;return g|0}function tg(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(qe(m,b)|0){e=(a|0)>0;if(e?(f[m+12>>2]|0)==0:0){g=0;break}d=bf(m,b)|0;if(d&e){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=d}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);ds(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);ds(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);ds(b);u=n;return g|0}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,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)rn(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);ds(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Pq(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){Pq(a);c=Ia(4)|0;Hr(c);sa(c|0,1488,137)}h=no(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 vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;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)rn(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);ds(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Pq(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){Pq(a);c=Ia(4)|0;Hr(c);sa(c|0,1488,137)}h=no(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 wg(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=as(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)bs(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=Kp(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}Fh(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=Kp(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=Kp(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=Kp(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=Kp(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 xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;e=c+8|0;k=e;i=f[k+4>>2]|0;l=c+16|0;j=l;d=f[j>>2]|0;j=f[j+4>>2]|0;if(!((i|0)>(j|0)|((i|0)==(j|0)?(f[k>>2]|0)>>>0>d>>>0:0))){a=0;return a|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;j=l;k=f[j>>2]|0;j=f[j+4>>2]|0;g=Kp(k|0,j|0,1,0)|0;i=l;f[i>>2]=g;f[i+4>>2]=I;i=e;e=f[i>>2]|0;i=f[i+4>>2]|0;j=Kp(k|0,j|0,5,0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&e>>>0>>0){a=0;return a|0}d=f[c>>2]|0;c=d+g|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l;f[g>>2]=j;f[g+4>>2]=k;i=_o(e|0,i|0,j|0,k|0)|0;g=I;if(0>(g|0)|0==(g|0)&c>>>0>i>>>0){a=0;return a|0}d=d+j|0;if((c|0)<1){a=0;return a|0}f[a>>2]=d;g=c+-1|0;e=d+g|0;a:do switch((h[e>>0]|0)>>>6&3){case 0:{f[a+4>>2]=g;d=b[e>>0]&63;break}case 1:if((c|0)<2){a=0;return a|0}else{f[a+4>>2]=c+-2;d=d+c+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break a}case 2:if((c|0)<3){a=0;return a|0}else{f[a+4>>2]=c+-3;d=d+c+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break a}default:{a=0;return a|0}}while(0);i=d+4096|0;f[a+8>>2]=i;if(i>>>0>1048575){a=0;return a|0}k=Kp(j|0,k|0,c|0,0)|0;a=l;f[a>>2]=k;f[a+4>>2]=I;a=1;return a|0}function yg(a,b){a=a|0;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){_j(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){Pq(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;Hr(a);sa(a|0,1488,137)}else{h=no(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;_j(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);ds(g)}}while((e|0)!=(h|0));if(!i)return;ds(i);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,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]=4652;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)Pq(h);c=((c+-1|0)>>>5)+1|0;o=no(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];Sg(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)Pq(h);o=((c+-1|0)>>>5)+1|0;a=no(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];Sg(h,k,m);u=n;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;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);ds(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){Pq(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){Pq(a);c=Ia(4)|0;Hr(c);sa(c|0,1488,137)}h=no(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 Bg(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);ds(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}ds(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);ds(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}ds(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);ds(b)}b=f[a+600>>2]|0;if(!b){h=a+580|0;fm(h);h=a+560|0;fm(h);h=a+540|0;fm(h);h=a+524|0;is(h);a=a+12|0;Zj(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);ds(b);h=a+580|0;fm(h);h=a+560|0;fm(h);h=a+540|0;fm(h);h=a+524|0;is(h);a=a+12|0;Zj(a);return}function Cg(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;p=u;u=u+16|0;n=p;o=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;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=Kp(g|0,e|0,1,0)|0;e=I;q=l;f[q>>2]=g;f[q+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){q=b[(f[d>>2]|0)+g>>0]|0;m=Kp(g|0,e|0,1,0)|0;e=l;f[e>>2]=m;f[e+4>>2]=I;e=q}else e=0;Xa[f[(f[a>>2]|0)+40>>2]&7](n,a,i<<24>>24,e<<24>>24);q=a+20|0;m=f[n>>2]|0;f[n>>2]=0;e=f[q>>2]|0;f[q>>2]=m;if(e){Pa[f[(f[e>>2]|0)+4>>2]&255](e);e=f[n>>2]|0;f[n>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&255](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){q=0;u=p;return q|0}if(!(Na[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){q=0;u=p;return q|0}q=f[a+4>>2]|0;if((q|0?((h[q+36>>0]|0)<<8&65535)<512:0)?!(Wa[f[(f[a>>2]|0)+48>>2]&127](a,o)|0):0){q=0;u=p;return q|0}q=1;u=p;return q|0}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,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]=4700;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)Pq(h);c=((c+-1|0)>>>5)+1|0;o=no(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];Sg(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)Pq(h);o=((c+-1|0)>>>5)+1|0;a=no(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];Sg(h,k,m);u=n;return}function Eg(a,b,c){a=a|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);ds(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Pq(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){Pq(a);b=Ia(4)|0;Hr(b);sa(b|0,1488,137)}e=no(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;Fh(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;Fh(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 Fg(a,b){a=a|0;b=b|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){_j(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){Pq(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;Hr(n);sa(n|0,1488,137)}else{d=no(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);_j(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];Wi(m);u=n;return}function Gg(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 Hg(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(10558,10410,191,10572);if(!(c>=$(0.0)))Ga(10601,10410,192,10572);if(!(b<=$(1.0)))Ga(10615,10410,193,10572);if(!(c<=$(1.0)))Ga(10629,10410,194,10572);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 Ig(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=Kp(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=_o(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{mj(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=Kp(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}Fh(f[a>>2]|0,(f[b>>2]|0)+g|0,o|0)|0;q=r;q=Kp(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 Jg(a,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));rc(a,l,j);if(f[a>>2]|0){l=l+24|0;is(l);u=m;return}h=a+4|0;Op(h);if(b[j+7>>0]|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Jk(k,20106,27);f[a>>2]=-1;im(h,k);Op(k);l=l+24|0;is(l);u=m;return}$h(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;Od(a,g,c,d,e);if(!(f[a>>2]|0)){Op(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]&255](g)}else{f[a>>2]=g;im(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]&255](g);Op(k+4|0);l=l+24|0;is(l);u=m;return}function Kg(a,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));rc(a,l,j);if(f[a>>2]|0){l=l+24|0;is(l);u=m;return}h=a+4|0;Op(h);if((b[j+7>>0]|0)!=1){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Jk(k,20085,20);f[a>>2]=-1;im(h,k);Op(k);l=l+24|0;is(l);u=m;return}ij(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;ln(a,g,c,d,e);if(!(f[a>>2]|0)){Op(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]&255](g)}else{f[a>>2]=g;im(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]&255](g);Op(k+4|0);l=l+24|0;is(l);u=m;return}function Lg(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);ds(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}ds(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);ds(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}ds(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);ds(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;fm(h);h=a+52|0;fm(h);h=a+32|0;fm(h);a=a+12|0;fm(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);ds(b);h=a+72|0;fm(h);h=a+52|0;fm(h);h=a+32|0;fm(h);a=a+12|0;fm(a);return}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;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;ds(b)}Op(k+8|0);ds(k);return l|0}function Ng(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 Xh(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];Nb(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];Nb(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 Og(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);ds(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}ds(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);ds(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}ds(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);ds(b)}b=f[a+88>>2]|0;if(!b){h=a+68|0;fm(h);h=a+48|0;fm(h);h=a+28|0;fm(h);a=a+12|0;is(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);ds(b);h=a+68|0;fm(h);h=a+48|0;fm(h);h=a+28|0;fm(h);a=a+12|0;is(a);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;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(Zd(j,a,h)|0){g=f[i>>2]|0;vg(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);ds(c)}c=f[j+56>>2]|0;if(c|0)ds(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);ds(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);ds(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);ds(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}mk(c);ds(c);u=k;return g|0}function Qg(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){Al(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){Al(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){Al(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 Rg(a,b,c){a=a|0;b=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)rn(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Fh(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);ds(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){Pq(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){Pq(a);b=Ia(4)|0;Hr(b);sa(b|0,1488,137)}e=no(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;Fh(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,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];Re(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;rn(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 Tg(a,c,d){a=a|0;c=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($j(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(!(nm(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);Op(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;Op(s);u=v;return t|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,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}}Ga(21905,21924,89,22019)}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{Xh(h,q-i|0,5152);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function Vg(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;m=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;t=o<<2;s=as(o>>>0>1073741823?-1:o<<2)|0;zq(p);Ho(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){bs(s);u=v;return 1}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){Fh((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,s|0,t|0)|0;a=a+1|0;if((a|0)==(c|0))break;else d=d+t|0}bs(s);u=v;return 1}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[s+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Fh((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,s|0,t|0)|0;h=h+1|0;if((h|0)==(c|0))break;else{i=i+t|0;j=o+j|0}}bs(s);u=v;return 1}function Wg(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 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,j=0,k=0,l=0;k=b+16|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(11111,10410,250,11134);if((j|0)<(e|0))Ga(11146,10410,251,11134);h=0-j|0;if((g|0)<(h|0))Ga(11169,10410,252,11134);if((e|0)<(h|0))Ga(11193,10410,253,11134);if((((e|0)>-1?e:0-e|0)+((g|0)>-1?g:0-g|0)|0)>(j|0)){Pi(b+4|0,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+8>>2]|0)+c|0}else c=c-(f[b+8>>2]|0)|0;f[a>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+8>>2]|0)+e|0}else e=e-(f[b+8>>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}Pi(b+4|0,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 Yg(a,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 Zg(a,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(22036,22048,102,22141);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))si(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)){Bj(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;ds(e)}ds(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);ds(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;ds(e)}ds(d)}ds(b);u=j;return}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;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;ds(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){Pq(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)Pq(a);e=no(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)rn(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 $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,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){_j(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){Pq(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;Hr(a);sa(a|0,1488,137)}else{i=no(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;_j(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]&255](d)}while((c|0)!=(e|0));if(!g)return;ds(g);return}function ah(a,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 bh(a,c,d){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;k=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;e=f[c+4>>2]|0;if(!e)Ga(11768,11977,62,12198);c=f[c+8>>2]|0;if(!c)Ga(11768,11977,62,12198);c=f[c+(d<<2)>>2]|0;if(!(b[e+84>>0]|0))c=f[(f[e+68>>2]|0)+(c<<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;switch(b[e+24>>0]|0){case 1:{f[g>>2]=c;f[k>>2]=f[g>>2];$f(e,k,a)|0;u=l;return}case 2:{f[h>>2]=c;f[k>>2]=f[h>>2];_f(e,k,a)|0;u=l;return}case 3:{f[i>>2]=c;f[k>>2]=f[i>>2];Zf(e,k,a)|0;u=l;return}case 4:{f[j>>2]=c;f[k>>2]=f[j>>2];Yf(e,k,a)|0;u=l;return}default:{u=l;return}}}function ch(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=Kp(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]&255](c);switch(h<<24>>24){case 0:{c=no(336)|0;wk(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&255](d);i=11}break}case 1:{c=no(376)|0;Hk(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&255](d);i=11}break}case 2:{c=no(392)|0;tj(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&255](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 dh(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){ds(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)Pq(g);d=((c+-1|0)>>>5)+1|0;c=no(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}rn(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){ds(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Pq(h);d=((c+-1|0)>>>5)+1|0;c=no(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}rn(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 eh(a,c){a=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;j=u;u=u+32|0;i=j+16|0;h=j;k=c+8|0;l=f[k+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((l|0)>(d|0)|((l|0)==(d|0)?(f[k>>2]|0)>>>0>e>>>0:0))){l=0;u=j;return l|0}l=b[(f[c>>2]|0)+e>>0]|0;e=Kp(e|0,d|0,1,0)|0;k=g;f[k>>2]=e;f[k+4>>2]=I;if(l<<24>>24){l=0;u=j;return l|0}g=0;do{rk(i,c)|0;d=f[i>>2]|0;if(d|0){e=a+44+(g*12|0)|0;sf(e,d,0);Ar(h);xg(h,c)|0;if(f[i>>2]|0){d=0;do{n=Cl(h)|0;l=(f[e>>2]|0)+(d>>>5<<2)|0;k=1<<(d&31);m=f[l>>2]|0;f[l>>2]=n?m|k:m&~k;d=d+1|0}while(d>>>0<(f[i>>2]|0)>>>0)}is(h)}g=g+1|0}while((g|0)<4);n=aj(a+8|0,c)|0;u=j;return n|0}function fh(a,b,c){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){Pq(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;Hr(k);sa(k|0,1488,137)}else{e=no(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)Fh(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;ds(d);return}function gh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(Id(a,b)|0){e=0;return e|0}d=hc(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;gj(d+8|0);ds(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)ds(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;ds(b)}Op(d+8|0);ds(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)ds(a);ds(e);e=1;return e|0}function hh(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];dh(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{Eg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Eg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Eg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Rg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function ih(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;m=c+8|0;l=f[m>>2]|0;m=f[m+4>>2]|0;p=c+16|0;n=p;o=f[n>>2]|0;n=f[n+4>>2]|0;e=Kp(o|0,n|0,4,0)|0;d=I;if((m|0)<(d|0)|(m|0)==(d|0)&l>>>0>>0){a=0;return a|0}k=f[c>>2]|0;g=k+o|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=p;f[i>>2]=e;f[i+4>>2]=d;i=Kp(o|0,n|0,8,0)|0;j=I;if((m|0)<(j|0)|(m|0)==(j|0)&l>>>0>>0){a=0;return a|0}d=k+e|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;e=p;f[e>>2]=i;f[e+4>>2]=j;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;if(!((m|0)>(j|0)|(m|0)==(j|0)&l>>>0>i>>>0)){a=0;return a|0}d=b[k+i>>0]|0;o=Kp(o|0,n|0,9,0)|0;f[p>>2]=o;f[p+4>>2]=I;if((d&255)>=2){a=0;return a|0}f[a+88>>2]=d&255;a=xg(a+108|0,c)|0;return a|0}function jh(a,c){a=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;j=u;u=u+32|0;i=j+16|0;h=j;k=c+8|0;l=f[k+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((l|0)>(d|0)|((l|0)==(d|0)?(f[k>>2]|0)>>>0>e>>>0:0))){l=0;u=j;return l|0}l=b[(f[c>>2]|0)+e>>0]|0;e=Kp(e|0,d|0,1,0)|0;k=g;f[k>>2]=e;f[k+4>>2]=I;if(l<<24>>24){l=0;u=j;return l|0}g=0;do{rk(i,c)|0;d=f[i>>2]|0;if(d|0){e=a+44+(g*12|0)|0;sf(e,d,0);Ar(h);xg(h,c)|0;if(f[i>>2]|0){d=0;do{n=Cl(h)|0;l=(f[e>>2]|0)+(d>>>5<<2)|0;k=1<<(d&31);m=f[l>>2]|0;f[l>>2]=n?m|k:m&~k;d=d+1|0}while(d>>>0<(f[i>>2]|0)>>>0)}is(h)}g=g+1|0}while((g|0)<4);n=cj(a+8|0,c)|0;u=j;return n|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;j=u;u=u+80|0;g=j;i=j+64|0;Jm(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(bn(5)|0,d)|0;qk(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=no(96)|0;wm(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);jk(h,c)|0;f[i>>2]=h;Nj(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;ds(e)}ds(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);ds(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;ds(e)}ds(d)}ds(h);u=j;return}function lh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=5124;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);ds(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);ds(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);ds(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);ds(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);ds(b)}Zi(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){Jj(c);ds(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}ds(b)}Jj(e);ds(e);return}function mh(a,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(22786,22811,63,22889);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Ga(22894,22811,64,22889);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))Bj(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)){Bj(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 nh(a,b,c,d,e,g){a=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+56>>2]=e;f[a+48>>2]=g;l=as(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)bs(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){Oq(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];sc(a,o,c,h);i=X(h,e)|0;$i(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}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,n=0,o=0;n=u;u=u+16|0;m=n;d=lm(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;uk(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))}gl(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);ds(e)}u=n;return}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,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;hf(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;rn(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 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;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Pq(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;Hr(a);sa(a|0,1488,137)}else{e=no(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){Jj(d);ds(d)}}while((c|0)!=(e|0));if(!g)return;ds(g);return}function rh(a,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;Zg(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;ds(d)}ds(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);ds(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;ds(d)}ds(c)}ds(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){bi(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 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;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=nm(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=nm(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 th(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 uh(a,b){a=a|0;b=b|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{rn(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;Hr(b);sa(b|0,1488,137)}h=no(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{ds(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 vh(a,b,c,d,e,g){a=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+56>>2]=e;f[a+48>>2]=g;l=as(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)bs(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){Oq(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];pc(a,o,c,h);i=X(h,e)|0;$i(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}function wh(a,b,c,d,e,g){a=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+56>>2]=e;f[a+48>>2]=g;l=as(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)bs(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){Oq(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];sc(a,o,c,h);i=X(h,e)|0;dj(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}function xh(a,c,d){a=a|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+48|0;j=m+32|0;e=m+28|0;g=m+24|0;h=m+20|0;i=m+16|0;l=m;k=b[a+24>>0]|0;f[l>>2]=f[1289];f[l+4>>2]=f[1290];f[l+8>>2]=f[1291];f[l+12>>2]=f[1292];k=k<<24>>24;switch(k|0){case 1:{f[e>>2]=c;f[j>>2]=f[e>>2];e=hg(a,j,l)|0;break}case 2:{f[g>>2]=c;f[j>>2]=f[g>>2];e=gg(a,j,l)|0;break}case 3:{f[h>>2]=c;f[j>>2]=f[h>>2];e=fg(a,j,l)|0;break}case 4:{f[i>>2]=c;f[j>>2]=f[i>>2];e=eg(a,j,l)|0;break}default:{l=0;u=m;return l|0}}if(!e){l=0;u=m;return l|0}ug(d,l,l+(k<<2)|0);l=1;u=m;return l|0}function yh(a,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=pl(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)!=(pl(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=pl(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)!=(pl(g,j,k)|0);k=k?-1073741824:e;u=i;return k|0}function zh(a,b){a=a|0;b=b|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{rn(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;Hr(b);sa(b|0,1488,137)}h=no(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){ds(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function Ah(a,b,c,d,e,g){a=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+56>>2]=e;f[a+48>>2]=g;l=as(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)bs(d);j=a+40|0;g=f[j>>2]|0;h=f[g+4>>2]|0;d=f[g>>2]|0;l=h-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=h;h=0;while(1){if(i-d>>2>>>0<=h>>>0){Oq(g);d=f[g>>2]|0}f[n>>2]=f[d+(h<<2)>>2];f[o>>2]=f[n>>2];pc(a,o,c,h);i=X(h,e)|0;dj(l,f[m>>2]|0,b+(i<<2)|0,c+(i<<2)|0);h=h+1|0;if((h|0)>=(k|0))break;i=f[j>>2]|0;g=i;d=f[i>>2]|0;i=f[i+4>>2]|0}u=p;return 1}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=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;rk(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){rk(g,f[a>>2]|0)|0;b=no(44)|0;k=f[g>>2]|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);l=b+20|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=k;if(!(ie(a,b)|0))break;f[e>>2]=b;Vk(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){Jj(b);ds(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}Jj(b);ds(b);b=0}while(0);if((i|0)==8)b=ie(a,c)|0;l=b;u=j;return l|0}function Ch(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=u;u=u+16|0;j=k;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=Kp(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){l=0;u=k;return l|0}i=(f[b>>2]|0)+c|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;l=g;f[l>>2]=d;f[l+4>>2]=e;if((i|0)<0){l=0;u=k;return l|0}sf(a+60|0,i,0);Ar(j);if(xg(j,b)|0){if((i|0)>0){c=a+60|0;d=0;e=1;do{e=e^((Cl(j)|0)^1);l=(f[c>>2]|0)+(d>>>5<<2)|0;g=1<<(d&31);m=f[l>>2]|0;f[l>>2]=e?m|g:m&~g;d=d+1|0}while((d|0)<(i|0))}c=aj(a+8|0,b)|0}else c=0;is(j);m=c;u=k;return m|0}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,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=nm(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=nm(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 Eh(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=u;u=u+16|0;j=k;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=Kp(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){l=0;u=k;return l|0}i=(f[b>>2]|0)+c|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;l=g;f[l>>2]=d;f[l+4>>2]=e;if((i|0)<0){l=0;u=k;return l|0}e=a+60|0;sf(e,i,0);Ar(j);if(xg(j,b)|0){if((i|0)>0){c=0;d=1;do{d=d^((Cl(j)|0)^1);l=(f[e>>2]|0)+(c>>>5<<2)|0;g=1<<(c&31);m=f[l>>2]|0;f[l>>2]=d?m|g:m&~g;c=c+1|0}while((c|0)<(i|0))}c=aj(a+8|0,b)|0}else c=0;is(j);m=c;u=k;return m|0}function Fh(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 Gh(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];dc(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];dc(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 Hh(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=u;u=u+16|0;j=k;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=Kp(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){l=0;u=k;return l|0}i=(f[b>>2]|0)+c|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;l=g;f[l>>2]=d;f[l+4>>2]=e;if((i|0)<0){l=0;u=k;return l|0}sf(a+60|0,i,0);Ar(j);if(xg(j,b)|0){if((i|0)>0){c=a+60|0;d=0;e=1;do{e=e^((Cl(j)|0)^1);l=(f[c>>2]|0)+(d>>>5<<2)|0;g=1<<(d&31);m=f[l>>2]|0;f[l>>2]=e?m|g:m&~g;d=d+1|0}while((d|0)<(i|0))}c=cj(a+8|0,b)|0}else c=0;is(j);m=c;u=k;return m|0}function Ih(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(22609,22625,58,22717);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(22727,22625,59,22717);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&255](d)|0)==1){Xf(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=no(44)|0;f[b>>2]=1884;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];zk(b+32|0,e+24|0);f[b>>2]=1940;g=b}f[a>>2]=g;return}function Jh(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]&255](c)|0)){a=0;return a|0}g=Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Sa[f[(f[a>>2]|0)+28>>2]&255](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(22609,22625,66,22717);else if((d|0)==9)Ga(22727,22625,67,22717);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]&255](a)|0;return a|0}function Kh(a,b,c){a=a|0;b=b|0;c=c|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=Vp(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=Vp(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 Lh(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=u;u=u+16|0;j=k;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=Kp(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){l=0;u=k;return l|0}i=(f[b>>2]|0)+c|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;l=g;f[l>>2]=d;f[l+4>>2]=e;if((i|0)<0){l=0;u=k;return l|0}e=a+60|0;sf(e,i,0);Ar(j);if(xg(j,b)|0){if((i|0)>0){c=0;d=1;do{d=d^((Cl(j)|0)^1);l=(f[e>>2]|0)+(c>>>5<<2)|0;g=1<<(c&31);m=f[l>>2]|0;f[l>>2]=d?m|g:m&~g;c=c+1|0}while((c|0)<(i|0))}c=cj(a+8|0,b)|0}else c=0;is(j);m=c;u=k;return m|0}function Mh(a,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;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+4>>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;c=f[c>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];$f(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];_f(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];Zf(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];Yf(c,j,a)|0;u=k;return}default:{u=k;return}}}function Nh(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;do if(c){i=a+8|0;l=i;j=f[l>>2]|0;l=f[l+4>>2]|0;e=a+16|0;g=e;c=f[g>>2]|0;g=Kp(c|0,f[g+4>>2]|0,8,0)|0;k=I;if((l|0)<(k|0)|(l|0)==(k|0)&j>>>0>>0){l=0;return l|0}else{c=(f[a>>2]|0)+c|0;l=c;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=d;d=g;b[d>>0]=l;b[d+1>>0]=l>>8;b[d+2>>0]=l>>16;b[d+3>>0]=l>>24;g=g+4|0;b[g>>0]=c;b[g+1>>0]=c>>8;b[g+2>>0]=c>>16;b[g+3>>0]=c>>24;g=e;g=Kp(f[g>>2]|0,f[g+4>>2]|0,8,0)|0;d=I;f[e>>2]=g;f[e+4>>2]=d;e=g;g=a;c=i;break}}else{d=a+16|0;e=f[d>>2]|0;d=f[d+4>>2]|0;g=a;c=a+8|0}while(0);b[a+36>>0]=1;k=(f[g>>2]|0)+e|0;l=c;l=_o(f[l>>2]|0,f[l+4>>2]|0,e|0,d|0)|0;f[a+32>>2]=0;f[a+24>>2]=k;f[a+28>>2]=k+l;l=1;return l|0}function Oh(a,b){a=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;j=no(64)|0;i=no(12)|0;g=f[(f[a+4>>2]|0)+80>>2]|0;f[i+4>>2]=0;f[i>>2]=4920;f[i+8>>2]=g;f[k>>2]=i;mm(j,k);i=a+8|0;g=a+12|0;a=f[g>>2]|0;c=f[i>>2]|0;e=a-c>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){$g(i,d-e|0);break}if(d>>>0>>0?(h=c+(d<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;f[g>>2]=e;a=f[e>>2]|0;f[e>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&255](a);a=f[g>>2]|0}while((a|0)!=(h|0))}while(0);i=(f[i>>2]|0)+(b<<2)|0;a=f[i>>2]|0;f[i>>2]=j;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&255](a);a=f[k>>2]|0;f[k>>2]=0;if(!a){u=l;return 1}Pa[f[(f[a>>2]|0)+4>>2]&255](a);u=l;return 1}function Ph(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];ec(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];ec(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 Qh(a,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;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+48>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=f[c+44>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];hg(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];gg(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];fg(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];eg(c,j,a)|0;u=k;return}default:{u=k;return}}}function Rh(a,c,d){a=a|0;c=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){Pq(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;jj(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)ds(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){_j(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{_j(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 Sh(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 Th(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{Xh(h,i-g|0,1752);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(21905,21924,89,22019);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function Uh(a,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;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+64>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=f[c+60>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];hg(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];gg(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];fg(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];eg(c,j,a)|0;u=k;return}default:{u=k;return}}}function Vh(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(!(Aq(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Aq(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 Nn(0,c,d,e);while(0);return}function Wh(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(22609,22625,58,22717);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(22727,22625,59,22717);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&255](d)|0)==1){Tf(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=no(28)|0;f[b+4>>2]=g;g=b+12|0;e=e+4|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+8>>2]=2804;f[b>>2]=2824;g=b}f[a>>2]=g;return}function Xh(a,b,c){a=a|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){Pq(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;Hr(b);sa(b|0,1488,137)}else{h=no(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)Fh(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;ds(d);return}function Yh(a,b,c,d,e,g){a=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+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){Oq(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Ob(o,n,c,g);a=X(g,e)|0;$i(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Zh(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){Pq(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;Hr(j);sa(j|0,1488,137)}else{d=no(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)Fh(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;ds(c);return}function _h(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=xd(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=no(40)|0;im(e+16|0,d);im(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}Af(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 $h(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=no(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));qn(b);f[b>>2]=5032;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=no(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));qn(b);f[b>>2]=4988;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;Jk(d,20056,28);f[c>>2]=-1;b=c+4|0;im(b,d);f[a>>2]=f[c>>2];im(a+4|0,b);f[a+16>>2]=0;Op(b);Op(d);u=e;return}}}function ai(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(22609,22625,58,22717);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(22727,22625,59,22717);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&255](d)|0)==1){Vf(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=no(28)|0;f[b+4>>2]=g;g=b+12|0;e=e+4|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+8>>2]=2784;f[b>>2]=3608;g=b}f[a>>2]=g;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;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){Pq(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;Hr(b);sa(b|0,1488,137)}else{g=no(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)Fh(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;ds(c);return}function ci(a,b,c,d,e,g){a=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+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){Oq(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Mb(o,n,c,g);a=X(g,e)|0;$i(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function di(a,b,c,d,e,g){a=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+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){Oq(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Ob(o,n,c,g);a=X(g,e)|0;dj(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}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,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){Pq(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;Hr(a);sa(a|0,1488,137)}else{h=no(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;ds(d);return}function fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+140>>2]|0;if(b|0){d=a+144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);ds(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);ds(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}ds(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);ds(b)}h=a+80|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+64|0;is(h);a=a+24|0;is(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;is(b)}while((b|0)!=(c|0))}bs(d);h=a+64|0;is(h);a=a+24|0;is(a);return}function gi(a,b,c,d,e,g){a=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+44|0;f[a+48>>2]=g;j=a+40|0;h=f[j>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;l=g-d|0;k=l>>2;if((l|0)<=0){u=p;return 1}l=a+8|0;i=a+52|0;a=g;g=0;while(1){if(a-d>>2>>>0<=g>>>0){Oq(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Mb(o,n,c,g);a=X(g,e)|0;dj(l,i,b+(a<<2)|0,c+(a<<2)|0);g=g+1|0;if((g|0)>=(k|0))break;h=f[j>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function hi(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;ds(a)}ds(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);ds(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;ds(a)}ds(b)}ds(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 ii(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]&255](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=mn(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=dm(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]&255](b)|0)){a=1;c=12;break}}if((c|0)==6)Ga(22609,22625,66,22717);else if((c|0)==8)Ga(22727,22625,67,22717);else if((c|0)==12)return a|0;return 0}function ji(a,c,d){a=a|0;c=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((yb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=js(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=yb(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=yb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)is(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function ki(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(!(te(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=Kp(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+96|0;g=(f[j>>2]|0)+c|0;f[j>>2]=g;j=a+100|0;f[l>>2]=0;e=a+104|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 Xh(j,g-i|0,l);a=xg(a+112|0,b)|0;u=m;return a|0}function li(a,b,c){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 mj(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 Zh(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 mi(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(Aq(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 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,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{mj(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(!(Hb(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 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,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 mj(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 Zh(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 pi(a,b,c){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 mj(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 Zh(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 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,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 mj(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 Zh(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 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,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 mj(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 Zh(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 si(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){Fg(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;ds(d)}ds(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);ds(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;ds(d)}ds(c)}ds(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function ti(a,b,c){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 mj(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 Zh(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 ui(a,b,c){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 mj(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 Zh(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 vi(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+4|0;e=h;switch(d|0){case 2:{i=f[b+12>>2]|0;d=f[b+4>>2]|0;b=g+4|0;f[b>>2]=-1;f[b+4>>2]=-1;f[b+8>>2]=-1;f[b+12>>2]=-1;f[g>>2]=2784;ai(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;b=g+4|0;f[b>>2]=-1;f[b+4>>2]=-1;f[b+8>>2]=-1;f[b+12>>2]=-1;f[g>>2]=2804;Wh(e,c,d,i,g);f[a>>2]=f[e>>2];u=h;return}default:{f[a>>2]=0;u=h;return}}}function wi(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{mj(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 xi(a,c,d){a=a|0;c=c|0;d=d|0;a=Id(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 yi(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){Td(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=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Td(a,b);return}function zi(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)Lq(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{Wp(a,d,(e&255)+1|0)|0;ds(d);g=15}}else{c=no(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{Wp(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){Wp(c,d,(f[a+4>>2]|0)+1|0)|0;ds(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 Ai(a){a=a|0;Ar(a);Ar(a+16|0);Ar(a+32|0);Ar(a+48|0);Ar(a+64|0);Ar(a+80|0);Ar(a+96|0);Ar(a+112|0);Ar(a+128|0);Ar(a+144|0);Ar(a+160|0);Ar(a+176|0);Ar(a+192|0);Ar(a+208|0);Ar(a+224|0);Ar(a+240|0);Ar(a+256|0);Ar(a+272|0);Ar(a+288|0);Ar(a+304|0);Ar(a+320|0);Ar(a+336|0);Ar(a+352|0);Ar(a+368|0);Ar(a+384|0);Ar(a+400|0);Ar(a+416|0);Ar(a+432|0);Ar(a+448|0);Ar(a+464|0);Ar(a+480|0);Ar(a+496|0);return}function Bi(a,c,d){a=a|0;c=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=Cq(f[a+8>>2]|0,o)|0;e=Cq(f[a+12>>2]|0,o)|0;g=Cq(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=Cq(f[a+(g<<2)>>2]|0,o)|0;g=Cq(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=Om(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=Cq(f[a+(e<<2)>>2]|0,o)|0;e=Cq(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 Ci(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;Ai(a+12|0);Ar(a+524|0);vp(a+540|0);vp(a+560|0);vp(a+580|0);f[i>>2]=0;Ik(a+600|0,b,i);f[i>>2]=0;Ik(a+612|0,b,i);g=b<<5|1;f[h>>2]=0;Ik(i,b,h);Dk(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);ds(c)}f[h>>2]=0;Ik(i,b,h);Dk(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);ds(e);u=j;return}function Di(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){Yc(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;Yc(a,b);return}function Ei(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){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=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;pd(a,b);return}function Fi(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){Hd(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;Hd(a,b);return}function Gi(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){de(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;de(a,b);return}function Hi(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){Zc(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;Zc(a,b);return}function Ii(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){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=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;qd(a,b);return}function Ji(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){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=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Kd(a,b);return}function Ki(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){_c(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;_c(a,b);return}function Li(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){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=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;rd(a,b);return}function Mi(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){Ld(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;Ld(a,b);return}function Ni(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){ee(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;ee(a,b);return}function Oi(a,c){a=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=nm(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=nm(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 Pi(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(11217,10410,259,11241);d=f[c>>2]|0;if((d|0)>(e|0))Ga(11255,10410,260,11241);a=0-e|0;if((i|0)<(a|0))Ga(11279,10410,261,11241);if((d|0)<(a|0))Ga(11304,10410,262,11241);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 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;h=no(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;Fh(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}nj(i,c);i=f[i>>2]|0;j=f[j>>2]|0;Fh(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 Ri(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){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=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;od(a,b);return}function Si(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){kg(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);ds(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);ds(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);ds(c)}vk(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Ti(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;vp(a+12|0);vp(a+32|0);vp(a+52|0);vp(a+72|0);f[i>>2]=0;Ik(a+92|0,b,i);f[i>>2]=0;Ik(a+104|0,b,i);g=b<<5|1;f[h>>2]=0;Ik(i,b,h);Dk(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);ds(c)}f[h>>2]=0;Ik(i,b,h);Dk(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);ds(e);u=j;return}function Ui(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;Ar(a+12|0);vp(a+28|0);vp(a+48|0);vp(a+68|0);f[i>>2]=0;Ik(a+88|0,b,i);f[i>>2]=0;Ik(a+100|0,b,i);g=b<<5|1;f[h>>2]=0;Ik(i,b,h);Dk(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);ds(c)}f[h>>2]=0;Ik(i,b,h);Dk(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);ds(e);u=j;return}function Vi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1764;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&255](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);ds(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]&255](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}ds(b)}f[a>>2]=1604;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);ds(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);ds(d);return}function Wi(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;ds(c)}ds(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);ds(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;ds(c)}ds(b)}ds(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;ds(b);return}function Xi(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=as(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){bs(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}Fh((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}}bs(m);return}else{Fh(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){bs(m);return}else{a=1;e=0}do{e=e+n|0;Fh((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));bs(m);return}}function Yi(a,c){a=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=as(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){bs(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}Fh((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}}bs(l);return}else{Fh(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){bs(l);return}else{a=1;d=0}do{d=d+m|0;Fh((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));bs(l);return}}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{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;ds(d)}ds(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);ds(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;ds(d)}ds(c)}ds(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}ds(b);return}function _i(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;l=b+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=b+16|0;c=m;e=f[c>>2]|0;c=f[c+4>>2]|0;j=Kp(e|0,c|0,4,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&k>>>0>>0){a=0;return a|0}g=f[b>>2]|0;i=g+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=m;f[b>>2]=j;f[b+4>>2]=d;b=Kp(e|0,c|0,8,0)|0;c=I;if((l|0)<(c|0)|(l|0)==(c|0)&k>>>0>>0){a=0;return a|0}l=g+j|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[m>>2]=b;f[m+4>>2]=c;f[a+12>>2]=i;f[a+16>>2]=l;m=l+(1-i)|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){a=1;return a|0}f[c>>2]=b+-1;a=1;return a|0}function $i(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+16>>2]<<1;if((h|0)>(k|0))Ga(10643,10688,69,10867);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(10888,10688,70,10867);g=f[c>>2]|0;if((g|0)>(k|0))Ga(10933,10688,71,10867);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(10978,10688,72,10867);if((h|0)<=-1)Ga(11023,10688,74,10867);if((e|0)<=-1)Ga(11045,10688,75,10867);if((g|0)<=-1)Ga(11067,10688,76,10867);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;of(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(11089,10688,77,10867)}function aj(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=Kp(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=Kp(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(11329,11362,69,11523);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Ga(10399,10410,60,10526);if(b>>>0<31){f[a+4>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+12>>2]=l;f[a+16>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else Ga(10546,10410,61,10526);return 0}function bj(a,c){a=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(10399,10410,60,10526);if((a|0)>=31)Ga(10546,10410,61,10526);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));Hg(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Fh((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 cj(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=Kp(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){a=0;return a|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=Kp(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0){a=0;return a|0}f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)Ga(11329,11362,69,11523);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Ga(10399,10410,60,10526);if(b>>>0>=31)Ga(10546,10410,61,10526);f[a+4>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+12>>2]=l;f[a+16>>2]=(l|0)/2|0;a=1;return a|0}function dj(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+16>>2]<<1;if((h|0)>(k|0))Ga(10643,16474,62,10867);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(10888,16474,63,10867);g=f[c>>2]|0;if((g|0)>(k|0))Ga(10933,16474,64,10867);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(10978,16474,65,10867);if((h|0)<=-1)Ga(11023,16474,67,10867);if((e|0)<=-1)Ga(11045,16474,68,10867);if((g|0)<=-1)Ga(11067,16474,69,10867);if((b|0)>-1){f[j>>2]=g;f[j+4>>2]=b;f[i>>2]=h;f[i+4>>2]=e;Xg(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(11089,16474,70,10867)}function ej(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){ge(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;ge(a,b);return}function fj(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 gj(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){Op(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;gj(e+8|0);ds(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)ds(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;ds(c)}Op(e+8|0);ds(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)ds(b);ds(g);Op(a);return}function hj(a,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){Pq(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;Hr(a);sa(a|0,1488,137)}else{i=no(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)Fh(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;ds(c);return}function ij(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=no(48)|0;Sq(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=no(52)|0;$p(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;Jk(d,20056,28);f[c>>2]=-1;b=c+4|0;im(b,d);f[a>>2]=f[c>>2];im(a+4|0,b);f[a+16>>2]=0;Op(b);Op(d);u=e;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,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)Pq(i);l=((b+-1|0)>>>5)+1|0;k=no(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;ph(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)ds(b);u=j;return}function kj(a,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]&255](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]&255](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 lj(a,b,c){a=a|0;b=b|0;c=c|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=as((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;bs(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=Kp(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}Fh(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Fh((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){bs(m);return b|0}return 0}function mj(a,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){_j(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){Pq(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;Hr(a);sa(a|0,1488,137)}else{i=no(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;_j(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Fh(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;ds(c);return}function nj(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){Pq(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=no(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)Fh(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;ds(d);return}function oj(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)Lq(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=no(l)|0;if(g|0)Wp(k,m,g)|0;if(i|0)Wp(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)Wp(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)ds(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;Uq(k+m|0,n);u=o;return}function pj(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(!(vm(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);Fh(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 qj(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=sh(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=no(40)|0;im(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}Af(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 rj(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=Kp(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]=1544;f[i+4>>2]=-1;Fq(i,c);l=Gl(i,f[a+16>>2]|0)|0;u=j;return l|0}function sj(a,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]&255](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]&255](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 tj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4792;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));Hn(b);Hn(a+280|0);d=a+320|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;f[d+24>>2]=0;f[d+28>>2]=0;f[a+352>>2]=-1;f[a+356>>2]=-1;f[a+360>>2]=2;f[a+364>>2]=7;d=a+368|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 uj(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);ds(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);ds(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);ds(c)}vk(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;ds(b);return}function vj(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]&255](a)|0):0){e=0;u=g;return e|0}f[d>>2]=1572;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;Cm(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=Gl(d,f[a+16>>2]|0)|0;f[d>>2]=1572;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);ds(a)}u=g;return e|0}function wj(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);ds(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);ds(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);ds(d)}vk(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}ds(b);return}function xj(){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=ko()|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[1546];To(25808,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[356]|0)+16>>2]&31](1424,d,e)|0;b=f[1546]|0;if(d){i=f[e>>2]|0;i=Sa[f[(f[i>>2]|0)+8>>2]&255](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;To(25722,g)}else{f[i>>2]=b;f[i+4>>2]=a;To(25767,i)}}To(25846,h)}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=no(36)|0;Bq(j);i=a+8|0;g=a+12|0;a=f[g>>2]|0;c=f[i>>2]|0;e=a-c>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){$g(i,d-e|0);break}if(d>>>0>>0?(h=c+(d<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;f[g>>2]=e;a=f[e>>2]|0;f[e>>2]=0;if(a|0)Pa[f[(f[a>>2]|0)+4>>2]&255](a);a=f[g>>2]|0}while((a|0)!=(h|0))}while(0);i=(f[i>>2]|0)+(b<<2)|0;a=f[i>>2]|0;f[i>>2]=j;if(!a)return 1;Pa[f[(f[a>>2]|0)+4>>2]&255](a);return 1}function zj(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);ds(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);ds(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);ds(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);ds(b)}f[a+4>>2]=4700;b=f[a+24>>2]|0;if(b|0)ds(b);b=f[a+12>>2]|0;if(!b)return;ds(b);return}function Aj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;g=u;u=u+80|0;i=g;h=g+16|0;e=g+4|0;f[i>>2]=d&1;Go(h,21659,i)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Jk(e,h,Rk(h)|0);a=qj(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}zi(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;Op(e);u=g;return}function Bj(a,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){Pq(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;Hr(a);sa(a|0,1488,137)}else{i=no(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)Fh(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;ds(c);return}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var 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;Jk(d,b,Rk(b)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Jk(e,c,Rk(c)|0);b=Tg(f[a+4>>2]|0,d,e)|0;if(!b){a=-1;Op(e);Op(d);u=g;return a|0}a=f[b+40>>2]|0;Op(e);Op(d);u=g;return a|0}function Dj(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=($r()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=Rr()|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=Rr()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Ej(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;Ej(d+20|0);Op(d+8|0);ds(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)ds(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;ds(b)}Op(d+8|0);ds(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)ds(a);ds(e);return}function Fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+12|0;d=e;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Jk(c,b,Rk(b)|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Jk(d,22781,4);b=Tg(f[a+4>>2]|0,d,c)|0;if(!b){a=-1;Op(d);Op(c);u=e;return a|0}a=f[b+40>>2]|0;Op(d);Op(c);u=e;return a|0}function Gj(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));rc(e,i,g);b=f[e>>2]|0;if(!b){Op(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;is(i);u=j;return}else{f[a>>2]=b;g=e+4|0;im(a+4|0,g);Op(g);i=i+24|0;is(i);u=j;return}}function Hj(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;Rh(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;Rh(a+12|0,j,d);Ag(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,5112);Mk(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Mk(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 Ij(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));Ih(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);ds(e)}f[a>>2]=f[i>>2];u=j;return}function Jj(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){Jj(d);ds(d)}Op(c+8|0);ds(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)ds(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;ds(c)}Op(e+8|0);ds(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;ds(b);return}function Kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(aj(a+8|0,c)|0)){a=0;return a|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=Kp(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)>=2){i=0;return i|0}f[a+72>>2]=e&255;i=xg(a+92|0,c)|0;return i|0}function Lj(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 Mj(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=Kp(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=ed(a,c,d)|0;return k|0}function Nj(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;ds(a)}ds(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);ds(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;ds(a)}ds(b)}ds(d);return}function Oj(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=Kp(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(Oj(a,c)|0){d=a;d=Ro(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 Pj(a,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;Hr(a);sa(a|0,1488,137)}k=f[i>>2]|0;e=no(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;ds(g);return}function Qj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(cj(a+8|0,c)|0)){a=0;return a|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=Kp(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)>=2){i=0;return i|0}f[a+72>>2]=e&255;i=xg(a+92|0,c)|0;return i|0}function Rj(a,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=5672;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=Rr()|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=ji(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 Sj(a,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|0)<0){d=0;return d|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=Kp(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=ld(a,c,d,e)|0;return k|0}case 1:{k=ve(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function Tj(a,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;Sp(e,c,d)|0;b[j>>0]=0;Uq(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;oj(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Uj(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;hk(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 Vj(a,c,d){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){fk(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;Po(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;Uq(e+i|0,k)}u=l;return a|0}function Wj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+4|0;g=f[j>>2]|0;i=a+8|0;a=f[i>>2]|0;d=g+4|0;c=f[d>>2]|0;b=f[g>>2]|0;e=c-b>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)f[d>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{mj(g,a-e|0);a=f[i>>2]|0}if((a|0)>0)d=0;else return 1;do{b=f[j>>2]|0;c=f[b>>2]|0;if((f[b+4>>2]|0)-c>>2>>>0<=d>>>0){Oq(b);c=f[b>>2]|0;a=f[i>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(a|0));return 1}function Xj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=4520;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&255](b);f[a>>2]=4944;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);ds(b)}d=a+8|0;b=f[d>>2]|0;if(!b){ds(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]&255](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}ds(b);ds(a);return}function Yj(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(!(Aq(a,f[c+8>>2]|0,g)|0)){if(Aq(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 Nn(0,c,d,e);while(0);return}function Zj(a){a=a|0;is(a+496|0);is(a+480|0);is(a+464|0);is(a+448|0);is(a+432|0);is(a+416|0);is(a+400|0);is(a+384|0);is(a+368|0);is(a+352|0);is(a+336|0);is(a+320|0);is(a+304|0);is(a+288|0);is(a+272|0);is(a+256|0);is(a+240|0);is(a+224|0);is(a+208|0);is(a+192|0);is(a+176|0);is(a+160|0);is(a+144|0);is(a+128|0);is(a+112|0);is(a+96|0);is(a+80|0);is(a+64|0);is(a+48|0);is(a+32|0);is(a+16|0);is(a);return}function _j(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 $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=Id(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}tk(c,b-d|0,0);d=rm(c,0)|0;c=f[e>>2]|0;Fh(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function ak(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 bk(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=4520;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&255](b);f[a>>2]=4944;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);ds(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]&255](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}ds(b);return}function ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1716;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;ds(b)}ds(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);ds(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;ds(b)}ds(a)}ds(d);return}function dk(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(22431,21789,53,22558);if((b|0)<=0)Ga(22587,21789,54,22558);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 ek(a,b){a=a|0;b=b|0;if(!b)return;else{ek(a,f[b>>2]|0);ek(a,f[b+4>>2]|0);nk(b+20|0,f[b+24>>2]|0);ds(b);return}}function fk(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)Lq(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=no(k)|0;if(g|0)Wp(j,l,g)|0;d=e-h-g|0;if(d|0)Wp(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)ds(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Ug(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 hk(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){nj(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else _g(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Kp(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 ik(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;oh(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){mk(d);ds(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){mk(d);ds(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;Rh(a+56|0,i,g);i=1;u=h;return i|0}function jk(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=no(32)|0,zo(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;ds(e)}ds(d)}e=bn(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=mo(e|0,d|0,c|0,0)|0;if(!(hk(i,0,g,I)|0)){i=0;return i|0}ul(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function kk(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=as(g)|0;_j(h|0,0,g|0)|0;g=a+8|0;$i(g,h,b,c);if((e|0)>=(d|0)){bs(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;$i(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));bs(h);return 1}function lk(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(!(Aq(a,b,0)|0))if((b|0)!=0?(e=mi(b,1448,1432,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 mk(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);ds(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);ds(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);ds(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);ds(d);return}function nk(a,b){a=a|0;b=b|0;if(!b)return;else{nk(a,f[b>>2]|0);nk(a,f[b+4>>2]|0);Op(b+28|0);Op(b+16|0);ds(b);return}}function ok(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=as(g)|0;_j(h|0,0,g|0)|0;g=a+8|0;dj(g,h,b,c);if((e|0)>=(d|0)){bs(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;dj(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));bs(h);return 1}function pk(a,c,d){a=a|0;c=c|0;d=d|0;a=Id(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 qk(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 rk(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=Kp(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(rk(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 sk(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;ds(c)}ds(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);ds(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;ds(c)}ds(b)}ds(a);return}function tk(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;Uq(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;Uq(a+c|0,h);b[g>>0]=c;break}else Vj(a,c-e|0,d)|0;while(0);u=j;return}function uk(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){Pq(a);c=Ia(4)|0;Hr(c);sa(c|0,1488,137)}d=no(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 vk(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);ds(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);ds(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);ds(b)}b=f[a+12>>2]|0;if(b|0)ds(b);b=f[a>>2]|0;if(!b)return;ds(b);return}function wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4580;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));Hn(b);Hn(a+280|0);f[a+320>>2]=0;f[a+324>>2]=0;f[a+328>>2]=0;return}function xk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=4944;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);ds(b)}d=a+8|0;b=f[d>>2]|0;if(!b){ds(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]&255](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}ds(b);ds(a);return}function yk(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;Jk(h,d,Rk(d)|0);$j(c,h,g)|0;a=(b[g+11>>0]|0)<0?f[g>>2]|0:g;Op(h);Op(g);u=e;return a|0}function zk(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){Pq(a);h=Ia(4)|0;Hr(h);sa(h|0,1488,137)}g=no(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;Fh(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Ak(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(!(vm(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 Bk(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=4944;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);ds(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]&255](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}ds(b);return} +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,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=u;u=u+48|0;pa=za+40|0;wa=za+28|0;xa=za+8|0;Z=za+4|0;ra=za;f[wa>>2]=0;ya=wa+4|0;f[ya>>2]=0;f[wa+8>>2]=0;f[xa>>2]=0;f[xa+4>>2]=0;f[xa+8>>2]=0;f[xa+12>>2]=0;n[xa+16>>2]=$(1.0);qa=a+132|0;ka=f[a+136>>2]|0;a:do if((c|0)>0){ja=a+240|0;K=a+356|0;y=a+276|0;_=a+352|0;A=a+272|0;B=a+264|0;C=a+268|0;J=a+8|0;H=xa+4|0;D=a+340|0;I=wa+8|0;ia=a+36|0;G=a+40|0;ha=c+-1|0;E=a+368|0;F=a+380|0;x=0;w=0;while(1){d=x+1|0;e=f[K>>2]|0;b:do if((e|0)!=-1){v=f[E>>2]|0;t=(f[F>>2]|0)+(e<<2)|0;la=(f[t>>2]|0)+-1|0;f[t>>2]=la;la=f[(f[v+(e*12|0)>>2]|0)+(la<<2)>>2]|0;e=f[4832+(la<<2)>>2]|0;f[_>>2]=e;if(!la)la=15;else la=58}else{do if(!(b[y>>0]|0))e=1;else{g=f[A>>2]|0;j=f[B>>2]|0;k=f[C>>2]|0;e=j+(g>>>3)|0;if(e>>>0>>0?(la=h[e>>0]|0,L=g+1|0,f[A>>2]=L,la&1<<(g&7)|0):0){e=j+(L>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(L&7)&1;g=g+2|0;f[A>>2]=g}else{g=L;i=0}e=j+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[A>>2]=g+1;e=e<<1&2}else e=0;e=(e|i)<<1|1;break}f[_>>2]=0;la=15;break b}while(0);f[_>>2]=e;la=58}while(0);c:do if((la|0)==15){la=0;e=f[ya>>2]|0;if((f[wa>>2]|0)==(e|0)){g=-1;break a}s=f[e+-4>>2]|0;r=(s|0)<0;d:do if(!r){e=s+(((s>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)la=18;else{j=f[J>>2]|0;i=f[j+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){p=0;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){p=1;break}}}}else{e=s;la=18}while(0);if((la|0)==18){la=0;j=f[J>>2]|0;i=f[j+12>>2]|0;p=1}v=x*3|0;q=v+1|0;f[i+(s<<2)>>2]=q;f[i+(q<<2)>>2]=s;t=v+2|0;f[i+(e<<2)>>2]=t;f[i+(t<<2)>>2]=e;g=s+1|0;if(!r?(fa=((g|0)%3|0|0)==0?s+-2|0:g,(fa|0)>=0):0){m=f[j>>2]|0;o=f[m+(fa<<2)>>2]|0;f[m+(v<<2)>>2]=o;if((o|0)>-1){m=j+24|0;j=j+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){mj(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);f[g+(o<<2)>>2]=v;j=f[J>>2]|0}}else{f[(f[j>>2]|0)+(v<<2)>>2]=-1073741824;o=-1073741824}g=e+1|0;if(!p?(ea=((g|0)%3|0|0)==0?e+-2|0:g,(ea|0)>=0):0){p=f[j>>2]|0;m=f[p+(ea<<2)>>2]|0;f[p+(q<<2)>>2]=m;if((m|0)>-1){l=j+24|0;i=j+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(R=e+(j<<2)|0,(g|0)!=(R|0)):0)f[i>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=q;j=f[J>>2]|0}}else f[(f[j>>2]|0)+(q<<2)>>2]=-1073741824;if(!r?(ca=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(ca|0)>=0):0){s=f[j>>2]|0;m=f[s+(ca<<2)>>2]|0;f[s+(t<<2)>>2]=m;if((m|0)>-1){l=j+24|0;i=j+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(Q=e+(j<<2)|0,(g|0)!=(Q|0)):0)f[i>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);g=t;e=e+(m<<2)|0;la=55}}else{g=-1073741824;e=(f[j>>2]|0)+(t<<2)|0;la=55}if((la|0)==55){la=0;f[e>>2]=g}if((w|0)>(ka|0)){g=-1;break a}e=(f[qa>>2]|0)+(o>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(o&31));f[(f[ya>>2]|0)+-4>>2]=v;e=v;g=0;k=w}else if((la|0)==58){la=0;switch(e|0){case 3:case 5:{g=f[ya>>2]|0;if((f[wa>>2]|0)==(g|0)){g=-1;break a}s=f[g+-4>>2]|0;t=x*3|0;r=((e|0)==5?2:1)+t|0;e=f[J>>2]|0;v=f[e+12>>2]|0;f[v+(r<<2)>>2]=s;f[v+(s<<2)>>2]=r;v=w+1|0;f[(f[e>>2]|0)+(r<<2)>>2]=w;if((w|0)>-1){k=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=w>>>0){if(v>>>0>j>>>0){mj(k,v-j|0);e=f[k>>2]|0;break}if(v>>>0>>0?(P=e+(v<<2)|0,(g|0)!=(P|0)):0)f[i>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=r;e=f[J>>2]|0}p=(r|0)<0;g=r+1|0;if(p)m=r;else m=((g|0)%3|0|0)==0?r+-2|0:g;q=(s|0)<0;if(!q?(ba=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(ba|0)>=0):0){w=f[e>>2]|0;o=f[w+(ba<<2)>>2]|0;f[w+(m<<2)>>2]=o;if((o|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<=o>>>0){j=o+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(O=e+(j<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=m;e=f[J>>2]|0}}else f[(f[e>>2]|0)+(m<<2)>>2]=-1073741824;do if(!p)if(!((r>>>0)%3|0)){o=r+2|0;break}else{o=r+-1|0;break}else o=r;while(0);g=s+1|0;if(!q?(da=((g|0)%3|0|0)==0?s+-2|0:g,(da|0)>=0):0){w=f[e>>2]|0;m=f[w+(da<<2)>>2]|0;f[w+(o<<2)>>2]=m;if((m|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<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(M=e+(j<<2)|0,(g|0)!=(M|0)):0)f[i>>2]=g+(~((g+-4-M|0)>>>2)<<2)}while(0);g=o;e=e+(m<<2)|0;la=96}}else{g=-1073741824;e=(f[e>>2]|0)+(o<<2)|0;la=96}if((la|0)==96){la=0;f[e>>2]=g}f[(f[ya>>2]|0)+-4>>2]=t;e=t;g=1;k=v;break c}case 1:{g=f[wa>>2]|0;e=f[ya>>2]|0;if((g|0)==(e|0)){g=-1;break a}p=e+-4|0;m=f[p>>2]|0;f[ya>>2]=p;k=f[H>>2]|0;e:do if(k){l=k+-1|0;j=(l&k|0)==0;if(j)o=l&x;else o=(x>>>0)%(k>>>0)|0;i=f[(f[xa>>2]|0)+(o<<2)>>2]|0;if(i){if(j)do{i=f[i>>2]|0;if(!i){e=p;break e}if((f[i+4>>2]&l|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(x|0));else do{i=f[i>>2]|0;if(!i){e=p;break e}if((((f[i+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(x|0));i=i+12|0;if((p|0)==(f[I>>2]|0)){Bj(wa,i);g=f[wa>>2]|0;e=f[ya>>2]|0;break}else{f[p>>2]=f[i>>2];f[ya>>2]=e;break}}else e=p}else e=p;while(0);if((g|0)==(e|0)){g=-1;break a}p=f[e+-4>>2]|0;t=x*3|0;s=t+2|0;e=f[J>>2]|0;v=f[e+12>>2]|0;f[v+(p<<2)>>2]=s;f[v+(s<<2)>>2]=p;r=t+1|0;f[v+(m<<2)>>2]=r;f[v+(r<<2)>>2]=m;if((p|0)>=0){g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;i=f[e>>2]|0;if((g|0)>=0){j=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=j;if((j|0)>-1){o=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[o>>2]|0;l=g-e>>2;do if(l>>>0<=j>>>0){k=j+1|0;if(k>>>0>l>>>0){mj(o,k-l|0);e=f[o>>2]|0;break}if(k>>>0>>0?(Y=e+(k<<2)|0,(g|0)!=(Y|0)):0)f[i>>2]=g+(~((g+-4-Y|0)>>>2)<<2)}while(0);f[e+(j<<2)>>2]=t;e=f[J>>2]|0;i=1}else i=0}else{f[i+(t<<2)>>2]=-1073741824;i=0;j=-1073741824}g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;k=f[e>>2]|0;if((g|0)>=0){q=f[k+(g<<2)>>2]|0;f[k+(r<<2)>>2]=q;if((q|0)>-1){p=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[p>>2]|0;o=g-e>>2;do if(o>>>0<=q>>>0){l=q+1|0;if(l>>>0>o>>>0){mj(p,l-o|0);e=f[p>>2]|0;break}if(l>>>0>>0?(X=e+(l<<2)|0,(g|0)!=(X|0)):0)f[k>>2]=g+(~((g+-4-X|0)>>>2)<<2)}while(0);f[e+(q<<2)>>2]=r;e=f[J>>2]|0;q=i}else q=i}else{g=k;la=128}}else{g=f[e>>2]|0;f[g+(t<<2)>>2]=-1073741824;i=0;j=-1073741824;la=128}if((la|0)==128){la=0;f[g+(r<<2)>>2]=-1073741824;q=i}if((m|0)>=0){g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;i=f[e>>2]|0;if((g|0)>=0){p=f[i+(g<<2)>>2]|0;f[i+(s<<2)>>2]=p;if((p|0)>-1){o=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[o>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){mj(o,k-l|0);e=f[o>>2]|0;break}if(k>>>0>>0?(W=e+(k<<2)|0,(g|0)!=(W|0)):0)f[i>>2]=g+(~((g+-4-W|0)>>>2)<<2)}while(0);g=s;e=e+(p<<2)|0;la=149}}else{g=-1073741824;e=i+(s<<2)|0;la=149}if((la|0)==149){la=0;f[e>>2]=g}i=m+1|0;i=((i|0)%3|0|0)==0?m+-2|0:i;g=f[J>>2]|0;if((i|0)<0){e=g;m=i;p=-1073741824}else{e=g;m=i;p=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(s<<2)>>2]=-1073741824;p=-1073741824}s=f[D>>2]|0;v=s+(j<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[s+(p<<2)>>2]|0);f:do if((m|0)>-1){o=j+1|0;if(!q){k=f[e>>2]|0;l=e+12|0;g=m;while(1){f[k+(g<<2)>>2]=j;v=g+1|0;g=((v|0)%3|0|0)==0?g+-2|0:v;if((g|0)<0)break f;i=f[(f[l>>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)+(m<<2)>>2]=j;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<=j>>>0){if(o>>>0>k>>>0){mj(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(V=e+(o<<2)|0,(g|0)!=(V|0)):0)f[i>>2]=g+(~((g+-4-V|0)>>>2)<<2)}while(0);f[e+(j<<2)>>2]=m;g=m+1|0;g=((g|0)%3|0|0)==0?m+-2|0:g;e=f[J>>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;m=((g|0)%3|0|0)==0?i+-2|0:g}while((m|0)>-1)}while(0);f[(f[e+24>>2]|0)+(p<<2)>>2]=-1073741824;f[(f[ya>>2]|0)+-4>>2]=t;e=t;g=0;k=w;break c}case 7:{l=x*3|0;f[pa>>2]=l;i=f[J>>2]|0;o=w+1|0;e=f[i>>2]|0;f[e+(l<<2)>>2]=w;if((w|0)<=-1){g=l+1|0;j=w+2|0;f[e+(g<<2)>>2]=o;if((w|0)==-1){e=i;m=j;la=177}else{g=l;m=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<=w>>>0){if(o>>>0>j>>>0){mj(k,o-j|0);e=f[k>>2]|0;break}if(o>>>0>>0?(U=e+(o<<2)|0,(g|0)!=(U|0)):0)f[i>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=l;e=f[J>>2]|0;g=(f[pa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=o;m=w+2|0;la=177}if((la|0)==177){la=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<=o>>>0){if(m>>>0>k>>>0){mj(l,m-k|0);e=f[l>>2]|0;break}if(m>>>0>>0?(T=e+(m<<2)|0,(i|0)!=(T|0)):0)f[j>>2]=i+(~((i+-4-T|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=g;i=f[J>>2]|0;g=f[pa>>2]|0;e=f[i>>2]|0}l=g+2|0;o=w+3|0;f[e+(l<<2)>>2]=m;if((m|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<=m>>>0){if(o>>>0>j>>>0){mj(k,o-j|0);e=f[k>>2]|0;break}if(o>>>0>>0?(S=e+(o<<2)|0,(g|0)!=(S|0)):0)f[i>>2]=g+(~((g+-4-S|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=l}e=f[ya>>2]|0;if((e|0)==(f[I>>2]|0)){Bj(wa,pa);e=f[ya>>2]|0}else{f[e>>2]=f[pa>>2];e=e+4|0;f[ya>>2]=e}e=f[e+-4>>2]|0;g=1;k=o;break c}default:{g=-1;break a}}}while(0);f[Z>>2]=e;f[pa>>2]=f[Z>>2];je(ja,pa);g:do if(g?(aa=c-x|0,ga=aa+-1|0,z=f[G>>2]|0,(z|0)!=(f[ia>>2]|0)):0){e=z;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;j=f[e+-12>>2]|0;f[G>>2]=e+-12;if((j|0)<0){g=-1;break a}e=f[(f[ya>>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[pa>>2]=ha-j;x=tf(xa,pa)|0;f[x>>2]=e;e=f[G>>2]|0}while((e|0)!=(f[ia>>2]|0))}while(0);if((d|0)<(c|0)){x=d;w=k}else{D=k;la=210;break}}}else{d=0;D=0;la=210}while(0);do if((la|0)==210)if((D|0)<=(ka|0)){g=f[ya>>2]|0;if((g|0)==(f[wa>>2]|0))e=a+8|0;else{s=a+316|0;e=a+8|0;C=a+60|0;A=a+64|0;y=a+68|0;x=a+76|0;z=a+80|0;B=a+72|0;t=a+312|0;v=a+304|0;w=a+308|0;do{ka=g;o=f[ka+-4>>2]|0;f[pa>>2]=o;f[ya>>2]=ka+-4;do if(b[s>>0]|0){g=f[t>>2]|0;i=(f[v>>2]|0)+(g>>>3)|0;if(i>>>0<(f[w>>2]|0)>>>0?(ka=h[i>>0]|0,f[t>>2]=g+1,ka&1<<(g&7)|0):0){la=217;break}g=f[A>>2]|0;i=f[y>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){Pq(C);i=f[y>>2]|0}ka=i<<6;g=g+32&-32;jj(C,i<<5>>>0<1073741823?(ka>>>0>>0?g:ka):2147483647);g=f[A>>2]|0}f[A>>2]=g+1;ka=(f[C>>2]|0)+(g>>>5<<2)|0;f[ka>>2]=f[ka>>2]&~(1<<(g&31));g=f[x>>2]|0;if((g|0)==(f[z>>2]|0)){Bj(B,pa);break}else{f[g>>2]=f[pa>>2];f[x>>2]=g+4;break}}else la=217;while(0);if((la|0)==217){la=0;k=(o|0)<0;h:do if(!k){g=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[(f[e>>2]|0)+12>>2]|0;j=g;while(1){g=f[i+(j<<2)>>2]|0;if((g|0)<=-1){i=0;g=j;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else j=g}if(k){k=o;la=224;break}}else i=1;k=o+1|0;k=((k|0)%3|0|0)==0?o+-2|0:k;if((k|0)<0)la=224;else{j=f[e>>2]|0;l=f[j+12>>2]|0;m=k;while(1){k=f[l+(m<<2)>>2]|0;if((k|0)<=-1){q=0;break h}ka=k+1|0;k=((ka|0)%3|0|0)==0?k+-2|0:ka;if((k|0)<0){q=1;m=k;break}else m=k}}}else{i=1;g=o;k=o;la=224}while(0);if((la|0)==224){la=0;j=f[e>>2]|0;l=f[j+12>>2]|0;q=1;m=k}r=d+1|0;d=d*3|0;f[ra>>2]=d;f[l+(d<<2)>>2]=o;f[l+(o<<2)>>2]=d;d=(f[ra>>2]|0)+1|0;f[l+(d<<2)>>2]=g;f[l+(g<<2)>>2]=d;d=(f[ra>>2]|0)+2|0;f[l+(d<<2)>>2]=m;f[l+(m<<2)>>2]=d;d=f[ra>>2]|0;k=g+1|0;if(!i?(ua=((k|0)%3|0|0)==0?g+-2|0:k,(ua|0)>=0):0){ka=f[j>>2]|0;p=f[ka+(ua<<2)>>2]|0;f[ka+(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){mj(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>>0?(oa=g+(k<<2)|0,(i|0)!=(oa|0)):0)f[j>>2]=i+(~((i+-4-oa|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=d;d=f[ra>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(d<<2)>>2]=-1073741824;o=d+1|0;g=m+1|0;if(!q?(ta=((g|0)%3|0|0)==0?m+-2|0:g,(ta|0)>=0):0){ka=f[j>>2]|0;m=f[ka+(ta<<2)>>2]|0;f[ka+(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){mj(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0>>0?(na=d+(j<<2)|0,(g|0)!=(na|0)):0)f[i>>2]=g+(~((g+-4-na|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[ra>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(o<<2)>>2]=-1073741824;o=d+2|0;g=f[pa>>2]|0;i=g+1|0;if((g|0)>=0?(sa=((i|0)%3|0|0)==0?g+-2|0:i,(sa|0)>=0):0){ka=f[j>>2]|0;m=f[ka+(sa<<2)>>2]|0;f[ka+(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){mj(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0>>0?(ma=d+(j<<2)|0,(g|0)!=(ma|0)):0)f[i>>2]=g+(~((g+-4-ma|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[ra>>2]|0}}else f[(f[j>>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[qa>>2]|0;ka=g+(d>>>5<<2)|0;f[ka>>2]=f[ka>>2]&~(1<<(d&31));d=f[ra>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;ka=g+(d>>>5<<2)|0;f[ka>>2]=f[ka>>2]&~(1<<(d&31));d=f[ra>>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[A>>2]|0;g=f[y>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){Pq(C);g=f[y>>2]|0}ka=g<<6;d=d+32&-32;jj(C,g<<5>>>0<1073741823?(ka>>>0>>0?d:ka):2147483647);d=f[A>>2]|0}f[A>>2]=d+1;ka=(f[C>>2]|0)+(d>>>5<<2)|0;f[ka>>2]=f[ka>>2]|1<<(d&31);d=f[x>>2]|0;if((d|0)==(f[z>>2]|0))Bj(B,ra);else{f[d>>2]=f[ra>>2];f[x>>2]=d+4}d=r}g=f[ya>>2]|0}while((g|0)!=(f[wa>>2]|0))}ua=f[e>>2]|0;if((d|0)==(((f[ua+4>>2]|0)-(f[ua>>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(D>>>0>i>>>0){mj(j,D-i|0);g=D;break}if(D>>>0>>0?(va=d+(D<<2)|0,(e|0)!=(va|0)):0){f[g>>2]=e+(~((e+-4-va|0)>>>2)<<2);g=D}else g=D}else g=-1}else g=-1;while(0);d=f[xa+8>>2]|0;if(d|0)do{va=d;d=f[d>>2]|0;ds(va)}while((d|0)!=0);d=f[xa>>2]|0;f[xa>>2]=0;if(d|0)ds(d);d=f[wa>>2]|0;if(!d){u=za;return g|0}e=f[ya>>2]|0;if((e|0)!=(d|0))f[ya>>2]=e+(~((e+-4-d|0)>>>2)<<2);ds(d);u=za;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,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;W=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;ja=f[a+136>>2]|0;a:do if((c|0)>0){ia=a+240|0;Y=a+372|0;y=a+276|0;X=a+368|0;A=a+272|0;B=a+264|0;C=a+268|0;H=a+8|0;F=wa+4|0;D=a+340|0;G=va+8|0;ha=a+36|0;E=a+40|0;ga=c+-1|0;Z=a+352|0;x=0;w=0;while(1){d=x+1|0;if((f[Y>>2]|0)!=-1?Cl(Z)|0:0){e=f[Y>>2]|0;f[X>>2]=e;if(!e)ka=16;else ka=59}else ka=5;b:do if((ka|0)==5){do if(!(b[y>>0]|0))e=1;else{g=f[A>>2]|0;j=f[B>>2]|0;k=f[C>>2]|0;e=j+(g>>>3)|0;if(e>>>0>>0?(ka=h[e>>0]|0,I=g+1|0,f[A>>2]=I,ka&1<<(g&7)|0):0){e=j+(I>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(I&7)&1;g=g+2|0;f[A>>2]=g}else{g=I;i=0}e=j+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[A>>2]=g+1;e=e<<1&2}else e=0;e=(e|i)<<1|1;break}f[X>>2]=0;ka=16;break b}while(0);f[X>>2]=e;ka=59}while(0);c:do if((ka|0)==16){ka=0;e=f[xa>>2]|0;if((f[va>>2]|0)==(e|0)){g=-1;break a}s=f[e+-4>>2]|0;r=(s|0)<0;d:do if(!r){e=s+(((s>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ka=19;else{j=f[H>>2]|0;i=f[j+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){p=0;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){p=1;break}}}}else{e=s;ka=19}while(0);if((ka|0)==19){ka=0;j=f[H>>2]|0;i=f[j+12>>2]|0;p=1}v=x*3|0;q=v+1|0;f[i+(s<<2)>>2]=q;f[i+(q<<2)>>2]=s;t=v+2|0;f[i+(e<<2)>>2]=t;f[i+(t<<2)>>2]=e;g=s+1|0;if(!r?(ea=((g|0)%3|0|0)==0?s+-2|0:g,(ea|0)>=0):0){m=f[j>>2]|0;o=f[m+(ea<<2)>>2]|0;f[m+(v<<2)>>2]=o;if((o|0)>-1){m=j+24|0;j=j+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){mj(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(J=g+(k<<2)|0,(i|0)!=(J|0)):0)f[j>>2]=i+(~((i+-4-J|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=v;j=f[H>>2]|0}}else{f[(f[j>>2]|0)+(v<<2)>>2]=-1073741824;o=-1073741824}g=e+1|0;if(!p?(da=((g|0)%3|0|0)==0?e+-2|0:g,(da|0)>=0):0){p=f[j>>2]|0;m=f[p+(da<<2)>>2]|0;f[p+(q<<2)>>2]=m;if((m|0)>-1){l=j+24|0;i=j+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(O=e+(j<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=q;j=f[H>>2]|0}}else f[(f[j>>2]|0)+(q<<2)>>2]=-1073741824;if(!r?(ba=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(ba|0)>=0):0){s=f[j>>2]|0;m=f[s+(ba<<2)>>2]|0;f[s+(t<<2)>>2]=m;if((m|0)>-1){l=j+24|0;i=j+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(N=e+(j<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);g=t;e=e+(m<<2)|0;ka=56}}else{g=-1073741824;e=(f[j>>2]|0)+(t<<2)|0;ka=56}if((ka|0)==56){ka=0;f[e>>2]=g}if((w|0)>(ja|0)){g=-1;break a}e=(f[pa>>2]|0)+(o>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(o&31));f[(f[xa>>2]|0)+-4>>2]=v;e=v;g=0;k=w}else if((ka|0)==59){ka=0;switch(e|0){case 3:case 5:{g=f[xa>>2]|0;if((f[va>>2]|0)==(g|0)){g=-1;break a}s=f[g+-4>>2]|0;t=x*3|0;r=((e|0)==5?2:1)+t|0;e=f[H>>2]|0;v=f[e+12>>2]|0;f[v+(r<<2)>>2]=s;f[v+(s<<2)>>2]=r;v=w+1|0;f[(f[e>>2]|0)+(r<<2)>>2]=w;if((w|0)>-1){k=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=w>>>0){if(v>>>0>j>>>0){mj(k,v-j|0);e=f[k>>2]|0;break}if(v>>>0>>0?(M=e+(v<<2)|0,(g|0)!=(M|0)):0)f[i>>2]=g+(~((g+-4-M|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=r;e=f[H>>2]|0}p=(r|0)<0;g=r+1|0;if(p)m=r;else m=((g|0)%3|0|0)==0?r+-2|0:g;q=(s|0)<0;if(!q?(aa=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(aa|0)>=0):0){w=f[e>>2]|0;o=f[w+(aa<<2)>>2]|0;f[w+(m<<2)>>2]=o;if((o|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<=o>>>0){j=o+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(L=e+(j<<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[H>>2]|0}}else f[(f[e>>2]|0)+(m<<2)>>2]=-1073741824;do if(!p)if(!((r>>>0)%3|0)){o=r+2|0;break}else{o=r+-1|0;break}else o=r;while(0);g=s+1|0;if(!q?(ca=((g|0)%3|0|0)==0?s+-2|0:g,(ca|0)>=0):0){w=f[e>>2]|0;m=f[w+(ca<<2)>>2]|0;f[w+(o<<2)>>2]=m;if((m|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<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){mj(l,j-k|0);e=f[l>>2]|0;break}if(j>>>0>>0?(K=e+(j<<2)|0,(g|0)!=(K|0)):0)f[i>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);g=o;e=e+(m<<2)|0;ka=97}}else{g=-1073741824;e=(f[e>>2]|0)+(o<<2)|0;ka=97}if((ka|0)==97){ka=0;f[e>>2]=g}f[(f[xa>>2]|0)+-4>>2]=t;e=t;g=1;k=v;break c}case 1:{g=f[va>>2]|0;e=f[xa>>2]|0;if((g|0)==(e|0)){g=-1;break a}p=e+-4|0;m=f[p>>2]|0;f[xa>>2]=p;k=f[F>>2]|0;e:do if(k){l=k+-1|0;j=(l&k|0)==0;if(j)o=l&x;else o=(x>>>0)%(k>>>0)|0;i=f[(f[wa>>2]|0)+(o<<2)>>2]|0;if(i){if(j)do{i=f[i>>2]|0;if(!i){e=p;break e}if((f[i+4>>2]&l|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(x|0));else do{i=f[i>>2]|0;if(!i){e=p;break e}if((((f[i+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(x|0));i=i+12|0;if((p|0)==(f[G>>2]|0)){Bj(va,i);g=f[va>>2]|0;e=f[xa>>2]|0;break}else{f[p>>2]=f[i>>2];f[xa>>2]=e;break}}else e=p}else e=p;while(0);if((g|0)==(e|0)){g=-1;break a}p=f[e+-4>>2]|0;t=x*3|0;s=t+2|0;e=f[H>>2]|0;v=f[e+12>>2]|0;f[v+(p<<2)>>2]=s;f[v+(s<<2)>>2]=p;r=t+1|0;f[v+(m<<2)>>2]=r;f[v+(r<<2)>>2]=m;if((p|0)>=0){g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;i=f[e>>2]|0;if((g|0)>=0){j=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=j;if((j|0)>-1){o=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[o>>2]|0;l=g-e>>2;do if(l>>>0<=j>>>0){k=j+1|0;if(k>>>0>l>>>0){mj(o,k-l|0);e=f[o>>2]|0;break}if(k>>>0>>0?(V=e+(k<<2)|0,(g|0)!=(V|0)):0)f[i>>2]=g+(~((g+-4-V|0)>>>2)<<2)}while(0);f[e+(j<<2)>>2]=t;e=f[H>>2]|0;i=1}else i=0}else{f[i+(t<<2)>>2]=-1073741824;i=0;j=-1073741824}g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;k=f[e>>2]|0;if((g|0)>=0){q=f[k+(g<<2)>>2]|0;f[k+(r<<2)>>2]=q;if((q|0)>-1){p=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[p>>2]|0;o=g-e>>2;do if(o>>>0<=q>>>0){l=q+1|0;if(l>>>0>o>>>0){mj(p,l-o|0);e=f[p>>2]|0;break}if(l>>>0>>0?(U=e+(l<<2)|0,(g|0)!=(U|0)):0)f[k>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);f[e+(q<<2)>>2]=r;e=f[H>>2]|0;q=i}else q=i}else{g=k;ka=129}}else{g=f[e>>2]|0;f[g+(t<<2)>>2]=-1073741824;i=0;j=-1073741824;ka=129}if((ka|0)==129){ka=0;f[g+(r<<2)>>2]=-1073741824;q=i}if((m|0)>=0){g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;i=f[e>>2]|0;if((g|0)>=0){p=f[i+(g<<2)>>2]|0;f[i+(s<<2)>>2]=p;if((p|0)>-1){o=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[o>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){mj(o,k-l|0);e=f[o>>2]|0;break}if(k>>>0>>0?(T=e+(k<<2)|0,(g|0)!=(T|0)):0)f[i>>2]=g+(~((g+-4-T|0)>>>2)<<2)}while(0);g=s;e=e+(p<<2)|0;ka=150}}else{g=-1073741824;e=i+(s<<2)|0;ka=150}if((ka|0)==150){ka=0;f[e>>2]=g}i=m+1|0;i=((i|0)%3|0|0)==0?m+-2|0:i;g=f[H>>2]|0;if((i|0)<0){e=g;m=i;p=-1073741824}else{e=g;m=i;p=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(s<<2)>>2]=-1073741824;p=-1073741824}s=f[D>>2]|0;v=s+(j<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[s+(p<<2)>>2]|0);f:do if((m|0)>-1){o=j+1|0;if(!q){k=f[e>>2]|0;l=e+12|0;g=m;while(1){f[k+(g<<2)>>2]=j;v=g+1|0;g=((v|0)%3|0|0)==0?g+-2|0:v;if((g|0)<0)break f;i=f[(f[l>>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)+(m<<2)>>2]=j;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<=j>>>0){if(o>>>0>k>>>0){mj(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(S=e+(o<<2)|0,(g|0)!=(S|0)):0)f[i>>2]=g+(~((g+-4-S|0)>>>2)<<2)}while(0);f[e+(j<<2)>>2]=m;g=m+1|0;g=((g|0)%3|0|0)==0?m+-2|0:g;e=f[H>>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;m=((g|0)%3|0|0)==0?i+-2|0:g}while((m|0)>-1)}while(0);f[(f[e+24>>2]|0)+(p<<2)>>2]=-1073741824;f[(f[xa>>2]|0)+-4>>2]=t;e=t;g=0;k=w;break c}case 7:{l=x*3|0;f[oa>>2]=l;i=f[H>>2]|0;o=w+1|0;e=f[i>>2]|0;f[e+(l<<2)>>2]=w;if((w|0)<=-1){g=l+1|0;j=w+2|0;f[e+(g<<2)>>2]=o;if((w|0)==-1){e=i;m=j;ka=178}else{g=l;m=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<=w>>>0){if(o>>>0>j>>>0){mj(k,o-j|0);e=f[k>>2]|0;break}if(o>>>0>>0?(R=e+(o<<2)|0,(g|0)!=(R|0)):0)f[i>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=l;e=f[H>>2]|0;g=(f[oa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=o;m=w+2|0;ka=178}if((ka|0)==178){ka=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<=o>>>0){if(m>>>0>k>>>0){mj(l,m-k|0);e=f[l>>2]|0;break}if(m>>>0>>0?(Q=e+(m<<2)|0,(i|0)!=(Q|0)):0)f[j>>2]=i+(~((i+-4-Q|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=g;i=f[H>>2]|0;g=f[oa>>2]|0;e=f[i>>2]|0}l=g+2|0;o=w+3|0;f[e+(l<<2)>>2]=m;if((m|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<=m>>>0){if(o>>>0>j>>>0){mj(k,o-j|0);e=f[k>>2]|0;break}if(o>>>0>>0?(P=e+(o<<2)|0,(g|0)!=(P|0)):0)f[i>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=l}e=f[xa>>2]|0;if((e|0)==(f[G>>2]|0)){Bj(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;k=o;break c}default:{g=-1;break a}}}while(0);f[W>>2]=e;f[oa>>2]=f[W>>2];ce(ia,oa);g:do if(g?(_=c-x|0,fa=_+-1|0,z=f[E>>2]|0,(z|0)!=(f[ha>>2]|0)):0){e=z;do{g=f[e+-8>>2]|0;if((g|0)>=(_|0)){g=-1;break a}if((g|0)!=(fa|0))break g;g=b[e+-4>>0]|0;j=f[e+-12>>2]|0;f[E>>2]=e+-12;if((j|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]=ga-j;x=tf(wa,oa)|0;f[x>>2]=e;e=f[E>>2]|0}while((e|0)!=(f[ha>>2]|0))}while(0);if((d|0)<(c|0)){x=d;w=k}else{D=k;ka=211;break}}}else{d=0;D=0;ka=211}while(0);do if((ka|0)==211)if((D|0)<=(ja|0)){g=f[xa>>2]|0;if((g|0)==(f[va>>2]|0))e=a+8|0;else{s=a+316|0;e=a+8|0;C=a+60|0;A=a+64|0;y=a+68|0;x=a+76|0;z=a+80|0;B=a+72|0;t=a+312|0;v=a+304|0;w=a+308|0;do{ja=g;o=f[ja+-4>>2]|0;f[oa>>2]=o;f[xa>>2]=ja+-4;do if(b[s>>0]|0){g=f[t>>2]|0;i=(f[v>>2]|0)+(g>>>3)|0;if(i>>>0<(f[w>>2]|0)>>>0?(ja=h[i>>0]|0,f[t>>2]=g+1,ja&1<<(g&7)|0):0){ka=218;break}g=f[A>>2]|0;i=f[y>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){Pq(C);i=f[y>>2]|0}ja=i<<6;g=g+32&-32;jj(C,i<<5>>>0<1073741823?(ja>>>0>>0?g:ja):2147483647);g=f[A>>2]|0}f[A>>2]=g+1;ja=(f[C>>2]|0)+(g>>>5<<2)|0;f[ja>>2]=f[ja>>2]&~(1<<(g&31));g=f[x>>2]|0;if((g|0)==(f[z>>2]|0)){Bj(B,oa);break}else{f[g>>2]=f[oa>>2];f[x>>2]=g+4;break}}else ka=218;while(0);if((ka|0)==218){ka=0;k=(o|0)<0;h:do if(!k){g=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[(f[e>>2]|0)+12>>2]|0;j=g;while(1){g=f[i+(j<<2)>>2]|0;if((g|0)<=-1){i=0;g=j;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else j=g}if(k){k=o;ka=225;break}}else i=1;k=o+1|0;k=((k|0)%3|0|0)==0?o+-2|0:k;if((k|0)<0)ka=225;else{j=f[e>>2]|0;l=f[j+12>>2]|0;m=k;while(1){k=f[l+(m<<2)>>2]|0;if((k|0)<=-1){q=0;break h}ja=k+1|0;k=((ja|0)%3|0|0)==0?k+-2|0:ja;if((k|0)<0){q=1;m=k;break}else m=k}}}else{i=1;g=o;k=o;ka=225}while(0);if((ka|0)==225){ka=0;j=f[e>>2]|0;l=f[j+12>>2]|0;q=1;m=k}r=d+1|0;d=d*3|0;f[qa>>2]=d;f[l+(d<<2)>>2]=o;f[l+(o<<2)>>2]=d;d=(f[qa>>2]|0)+1|0;f[l+(d<<2)>>2]=g;f[l+(g<<2)>>2]=d;d=(f[qa>>2]|0)+2|0;f[l+(d<<2)>>2]=m;f[l+(m<<2)>>2]=d;d=f[qa>>2]|0;k=g+1|0;if(!i?(ta=((k|0)%3|0|0)==0?g+-2|0:k,(ta|0)>=0):0){ja=f[j>>2]|0;p=f[ja+(ta<<2)>>2]|0;f[ja+(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){mj(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>>0?(na=g+(k<<2)|0,(i|0)!=(na|0)):0)f[j>>2]=i+(~((i+-4-na|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=d;d=f[qa>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(d<<2)>>2]=-1073741824;o=d+1|0;g=m+1|0;if(!q?(sa=((g|0)%3|0|0)==0?m+-2|0:g,(sa|0)>=0):0){ja=f[j>>2]|0;m=f[ja+(sa<<2)>>2]|0;f[ja+(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){mj(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0>>0?(ma=d+(j<<2)|0,(g|0)!=(ma|0)):0)f[i>>2]=g+(~((g+-4-ma|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[qa>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(o<<2)>>2]=-1073741824;o=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){ja=f[j>>2]|0;m=f[ja+(ra<<2)>>2]|0;f[ja+(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){mj(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0>>0?(la=d+(j<<2)|0,(g|0)!=(la|0)):0)f[i>>2]=g+(~((g+-4-la|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[qa>>2]|0}}else f[(f[j>>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[pa>>2]|0;ja=g+(d>>>5<<2)|0;f[ja>>2]=f[ja>>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;ja=g+(d>>>5<<2)|0;f[ja>>2]=f[ja>>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[A>>2]|0;g=f[y>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){Pq(C);g=f[y>>2]|0}ja=g<<6;d=d+32&-32;jj(C,g<<5>>>0<1073741823?(ja>>>0>>0?d:ja):2147483647);d=f[A>>2]|0}f[A>>2]=d+1;ja=(f[C>>2]|0)+(d>>>5<<2)|0;f[ja>>2]=f[ja>>2]|1<<(d&31);d=f[x>>2]|0;if((d|0)==(f[z>>2]|0))Bj(B,qa);else{f[d>>2]=f[qa>>2];f[x>>2]=d+4}d=r}g=f[xa>>2]|0}while((g|0)!=(f[va>>2]|0))}ta=f[e>>2]|0;if((d|0)==(((f[ta+4>>2]|0)-(f[ta>>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(D>>>0>i>>>0){mj(j,D-i|0);g=D;break}if(D>>>0>>0?(ua=d+(D<<2)|0,(e|0)!=(ua|0)):0){f[g>>2]=e+(~((e+-4-ua|0)>>>2)<<2);g=D}else g=D}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;ds(ua)}while((d|0)!=0);d=f[wa>>2]|0;f[wa>>2]=0;if(d|0)ds(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);ds(d);u=ya;return g|0}function _a(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,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;aa=f[a+136>>2]|0;a:do if((c|0)>0){S=a+276|0;A=na+4|0;B=a+8|0;C=ma+8|0;T=a+272|0;Q=a+264|0;R=a+268|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[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){D=-1;break a}v=f[e+-4>>2]|0;w=x*3|0;t=((g|0)==5?2:1)+w|0;g=f[B>>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){mj(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[B>>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){mj(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[B>>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){mj(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[oa>>2]|0)+-4>>2]=w;break}case 7:{l=x*3|0;f[fa>>2]=l;i=f[B>>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){mj(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[B>>2]|0;g=(f[fa>>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){mj(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[B>>2]|0;g=f[fa>>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){mj(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[oa>>2]|0;if((e|0)==(f[C>>2]|0))Bj(ma,fa);else{f[e>>2]=f[fa>>2];f[oa>>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)){D=-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){D=-1;break a}g=f[(f[oa>>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[fa>>2]=Z-k;y=tf(na,fa)|0;f[y>>2]=g;g=f[z>>2]|0;if((g|0)==(f[_>>2]|0))break c}}e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){D=-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[B>>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[B>>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){mj(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[B>>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){mj(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[B>>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){mj(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)){D=-1;break a}ba=(f[ga>>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[ma>>2]|0;e=f[oa>>2]|0;if((g|0)==(e|0)){D=-1;break a}o=e+-4|0;t=f[o>>2]|0;f[oa>>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[na>>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[C>>2]|0)){Bj(ma,i);g=f[ma>>2]|0;e=f[oa>>2]|0;break}else{f[o>>2]=f[i>>2];f[oa>>2]=e;break}}else e=o}else e=o;while(0);if((g|0)==(e|0)){D=-1;break a}p=f[e+-4>>2]|0;e=x*3|0;s=e+2|0;i=f[B>>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){mj(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[B>>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){mj(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[B>>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){mj(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[B>>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){mj(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[B>>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[oa>>2]|0)+-4>>2]=e;e=y}if((d|0)<(c|0)){x=d;y=e}else{D=e;ba=203;break a}}}else{d=0;D=0;ba=203}while(0);do if((ba|0)==203)if((D|0)<=(aa|0)){g=f[oa>>2]|0;if((g|0)==(f[ma>>2]|0))e=a+8|0;else{z=a+316|0;e=a+8|0;C=a+60|0;w=a+64|0;t=a+68|0;s=a+76|0;v=a+80|0;B=a+72|0;A=a+312|0;x=a+304|0;y=a+308|0;do{aa=g;o=f[aa+-4>>2]|0;f[fa>>2]=o;f[oa>>2]=aa+-4;do if(b[z>>0]|0){g=f[A>>2]|0;i=(f[x>>2]|0)+(g>>>3)|0;if(i>>>0<(f[y>>2]|0)>>>0?(aa=h[i>>0]|0,f[A>>2]=g+1,aa&1<<(g&7)|0):0){ba=210;break}g=f[w>>2]|0;i=f[t>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){Pq(C);i=f[t>>2]|0}aa=i<<6;g=g+32&-32;jj(C,i<<5>>>0<1073741823?(aa>>>0>>0?g:aa):2147483647);g=f[w>>2]|0}f[w>>2]=g+1;aa=(f[C>>2]|0)+(g>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(g&31));g=f[s>>2]|0;if((g|0)==(f[v>>2]|0)){Bj(B,fa);break}else{f[g>>2]=f[fa>>2];f[s>>2]=g+4;break}}else ba=210;while(0);if((ba|0)==210){ba=0;k=(o|0)<0;g:do if(!k){g=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[(f[e>>2]|0)+12>>2]|0;j=g;while(1){g=f[i+(j<<2)>>2]|0;if((g|0)<=-1){i=0;g=j;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else j=g}if(k){k=o;ba=217;break}}else i=1;k=o+1|0;k=((k|0)%3|0|0)==0?o+-2|0:k;if((k|0)<0)ba=217;else{j=f[e>>2]|0;l=f[j+12>>2]|0;m=k;while(1){k=f[l+(m<<2)>>2]|0;if((k|0)<=-1){q=0;break g}aa=k+1|0;k=((aa|0)%3|0|0)==0?k+-2|0:aa;if((k|0)<0){q=1;m=k;break}else m=k}}}else{i=1;g=o;k=o;ba=217}while(0);if((ba|0)==217){ba=0;j=f[e>>2]|0;l=f[j+12>>2]|0;q=1;m=k}r=d+1|0;d=d*3|0;f[ha>>2]=d;f[l+(d<<2)>>2]=o;f[l+(o<<2)>>2]=d;d=(f[ha>>2]|0)+1|0;f[l+(d<<2)>>2]=g;f[l+(g<<2)>>2]=d;d=(f[ha>>2]|0)+2|0;f[l+(d<<2)>>2]=m;f[l+(m<<2)>>2]=d;d=f[ha>>2]|0;k=g+1|0;if(!i?(ka=((k|0)%3|0|0)==0?g+-2|0:k,(ka|0)>=0):0){aa=f[j>>2]|0;p=f[aa+(ka<<2)>>2]|0;f[aa+(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){mj(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>>0?(ea=g+(k<<2)|0,(i|0)!=(ea|0)):0)f[j>>2]=i+(~((i+-4-ea|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=d;d=f[ha>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(d<<2)>>2]=-1073741824;o=d+1|0;g=m+1|0;if(!q?(ja=((g|0)%3|0|0)==0?m+-2|0:g,(ja|0)>=0):0){aa=f[j>>2]|0;m=f[aa+(ja<<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){mj(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0>>0?(da=d+(j<<2)|0,(g|0)!=(da|0)):0)f[i>>2]=g+(~((g+-4-da|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[ha>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(o<<2)>>2]=-1073741824;o=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){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){mj(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[ha>>2]|0}}else f[(f[j>>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;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>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;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>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[w>>2]|0;g=f[t>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){Pq(C);g=f[t>>2]|0}aa=g<<6;d=d+32&-32;jj(C,g<<5>>>0<1073741823?(aa>>>0>>0?d:aa):2147483647);d=f[w>>2]|0}f[w>>2]=d+1;aa=(f[C>>2]|0)+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(d&31);d=f[s>>2]|0;if((d|0)==(f[v>>2]|0))Bj(B,ha);else{f[d>>2]=f[ha>>2];f[s>>2]=d+4}d=r}g=f[oa>>2]|0}while((g|0)!=(f[ma>>2]|0))}ka=f[e>>2]|0;if((d|0)==(((f[ka+4>>2]|0)-(f[ka>>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(D>>>0>i>>>0){mj(j,D-i|0);break}if(D>>>0>>0?(la=d+(D<<2)|0,(e|0)!=(la|0)):0)f[g>>2]=e+(~((e+-4-la|0)>>>2)<<2)}else D=-1}else D=-1;while(0);d=f[na+8>>2]|0;if(d|0)do{la=d;d=f[d>>2]|0;ds(la)}while((d|0)!=0);d=f[na>>2]|0;f[na>>2]=0;if(d|0)ds(d);d=f[ma>>2]|0;if(!d){u=pa;return D|0}e=f[oa>>2]|0;if((e|0)!=(d|0))f[oa>>2]=e+(~((e+-4-d|0)>>>2)<<2);ds(d);u=pa;return D|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[6572]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=26328+(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[6572]=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[6574]|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=26328+(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[6577]|0;b=l>>>3;c=26328+(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[6574]=g;f[6577]=e;w=h;u=x;return w|0}i=f[6573]|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[26592+((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=26592+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[6573]=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[6577]|0;b=l>>>3;c=26328+(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[6574]=j;f[6577]=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[6573]|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[26592+(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[26592+((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[6574]|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=26592+(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=26328+(b<<1<<2)|0;a=f[6572]|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=26592+(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[6574]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[6577]|0;if(a>>>0>15){w=b+m|0;f[6577]=w;f[6574]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[6574]=0;f[6577]=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[6575]|0;if(h>>>0>m>>>0){t=h-m|0;f[6575]=t;w=f[6578]|0;v=w+m|0;f[6578]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6690]|0)){f[6692]=4096;f[6691]=4096;f[6693]=-1;f[6694]=-1;f[6695]=0;f[6683]=0;a=n&-16^1431655768;f[n>>2]=a;f[6690]=a;a=4096}else a=f[6692]|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[6682]|0;if(a|0?(l=f[6680]|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[6683]&4)){c=f[6578]|0;c:do if(c){e=26736;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=Dm(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=Dm(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6691]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6680]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6682]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=Dm(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[6692]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((Dm(a|0)|0)==(-1|0)){Dm(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6683]=f[6683]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=Dm(k|0)|0,q=Dm(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[6680]|0)+g|0;f[6680]=b;if(b>>>0>(f[6681]|0)>>>0)f[6681]=b;j=f[6578]|0;do if(j){e=26736;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[6575]|0)+(g-w)|0;f[6578]=v;f[6575]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6579]=f[6694];break}if(h>>>0<(f[6576]|0)>>>0)f[6576]=h;c=h+g|0;a=26736;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[6577]|0)){w=(f[6574]|0)+i|0;f[6574]=w;f[6577]=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[6572]=f[6572]&~(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=26592+(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[6573]=f[6573]&~(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=26328+(b<<1<<2)|0;a=f[6572]|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=26592+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[6573]|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[6575]|0)+i|0;f[6575]=w;f[6578]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=26736;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[6578]=v;f[6575]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[6579]=f[6694];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6684];f[b+4>>2]=f[6685];f[b+8>>2]=f[6686];f[b+12>>2]=f[6687];f[6684]=h;f[6685]=g;f[6687]=0;f[6686]=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=26328+(b<<1<<2)|0;a=f[6572]|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=26592+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[6573]|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[6576]|0;if((w|0)==0|h>>>0>>0)f[6576]=h;f[6684]=h;f[6685]=g;f[6687]=0;f[6581]=f[6690];f[6580]=-1;b=0;do{w=26328+(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[6578]=v;f[6575]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6579]=f[6694]}while(0);b=f[6575]|0;if(b>>>0>m>>>0){t=b-m|0;f[6575]=t;w=f[6578]|0;v=w+m|0;f[6578]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=Rr()|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=(Fm(5988,6180,c,b)|0)-5988>>2;a=e;e=0;a:while(1){b=(f[5988+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[5796+(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=Fm(5796,5988,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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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+128|0;C=F+116|0;l=F+112|0;n=F+108|0;p=F+104|0;t=F+100|0;q=F+96|0;s=F+88|0;E=F+40|0;D=F;v=F+92|0;w=F+84|0;B=F+80|0;m=a+144|0;f[m>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{A=c;c=f[c>>2]|0;ds(A)}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;k=f[r>>2]|0;c=b[k+36>>0]|0;k=f[k+32>>2]|0;do if(((c&255)<<8&65535)<512){z=k+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;j=k+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0){E=0;u=F;return E|0}else{e=(f[k>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[l>>2]=e;A=j;f[A>>2]=g;f[A+4>>2]=i;break}}else if(rk(l,k)|0){k=f[r>>2]|0;e=f[l>>2]|0;c=b[k+36>>0]|0;k=f[k+32>>2]|0;break}else{E=0;u=F;return E|0}while(0);f[m>>2]=e;if(((c&255)<<8&65535)<512){z=k+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;j=k+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0)c=0;else{e=(f[k>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[n>>2]=e;f[j>>2]=g;f[j+4>>2]=i;j=k;x=18}}else if(rk(n,k)|0){j=f[r>>2]|0;e=f[n>>2]|0;c=b[j+36>>0]|0;j=f[j+32>>2]|0;x=18}else c=0;if((x|0)==18){m=a+168|0;f[m>>2]=e;if(((c&255)<<8&65535)<512){z=j+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;i=j+16|0;e=i;c=f[e>>2]|0;e=Kp(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&A>>>0>>0)c=0;else{x=(f[j>>2]|0)+c|0;f[p>>2]=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=i;f[x>>2]=e;f[x+4>>2]=g;x=22}}else if(rk(p,j)|0)x=22;else c=0;do if((x|0)==22){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=no(60)|0;Tp(c);A=a+8|0;e=f[A>>2]|0;f[A>>2]=c;if(e){mk(e);ds(e);c=f[A>>2]|0;if(!c){c=0;break}}if(Tl(c,f[p>>2]|0)|0){i=a+172|0;e=f[i>>2]|0;g=a+176|0;c=f[g>>2]|0;if((c|0)!=(e|0))f[g>>2]=c+(~((c+-4-e|0)>>>2)<<2);Mk(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);Mk(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;z=c+8|0;y=f[z+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((y|0)>(g|0)|((y|0)==(g|0)?(f[z>>2]|0)>>>0>e>>>0:0)?(o=b[(f[c>>2]|0)+e>>0]|0,y=Kp(e|0,g|0,1,0)|0,z=i,f[z>>2]=y,f[z+4>>2]=I,o<<24>>24>=0):0){z=a+224|0;j=f[z>>2]|0;y=a+228|0;c=f[y>>2]|0;if((c|0)!=(j|0))do{f[y>>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);ds(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);ds(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);ds(e)}vk(c+-112|0);c=f[y>>2]|0}while((c|0)!=(j|0));l=o<<24>>24;Si(z,l);o=f[r>>2]|0;c=f[o+32>>2]|0;if(((h[o+36>>0]|0)<<8&65535)<512){n=c+8|0;o=f[n>>2]|0;n=f[n+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((n|0)<(i|0)|(n|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[t>>2]=c;x=j;f[x>>2]=g;f[x+4>>2]=i;x=58}}else if(rk(t,c)|0){c=f[t>>2]|0;x=58}else c=0;if((x|0)==58)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]|0)<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(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;x=j;f[x>>2]=g;f[x+4>>2]=i;x=64}else{if(!(rk(q,c)|0)){c=0;break}c=f[q>>2]|0;x=64}while(0);if((x|0)==64){k=a+132|0;q=c+(f[m>>2]|0)|0;b[C>>0]=1;Rh(k,q,C);q=f[r>>2]|0;c=f[q+32>>2]|0;do if(((h[q+36>>0]|0)<<8&65535)>=512)if(rk(s,c)|0)x=68;else c=0;else{p=c+8|0;q=f[p>>2]|0;p=f[p+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((p|0)<(i|0)|(p|0)==(i|0)&q>>>0>>0){c=0;break}x=(f[c>>2]|0)+e|0;f[s>>2]=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=j;f[x>>2]=g;f[x+4>>2]=i;x=68}while(0);if((x|0)==68){Hn(E);c=f[(f[r>>2]|0)+32>>2]|0;q=c+16|0;p=f[q>>2]|0;x=f[s>>2]|0;s=(f[c>>2]|0)+p+x|0;o=c+8|0;q=_o(f[o>>2]|0,f[o+4>>2]|0,p|0,f[q+4>>2]|0)|0;x=_o(q|0,I|0,x|0,0)|0;ao(E,s,x,d[c+38>>1]|0);c=Rb(a,E)|0;if((c|0)==-1)c=0;else{g=a+240|0;f[a+328>>2]=a;q=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=f[q>>2]|0;q=(f[q>>2]|0)+(f[q+16>>2]|0)|0;s=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=f[s>>2]|0;o=s+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;s=s+16|0;p=f[s>>2]|0;s=f[s+4>>2]|0;x=Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0;s=_o(n|0,o|0,p|0,s|0)|0;ao(g,q,s,d[(f[x+32>>2]|0)+38>>1]|0);x=Sa[f[(f[a>>2]|0)+36>>2]&255](a)|0;f[a+332>>2]=x;f[a+336>>2]=f[m>>2];f[a+324>>2]=l;Hn(D);a:do if(ki(g,D)|0){if((Za(a,f[t>>2]|0)|0)==-1){c=0;break}e=f[(f[r>>2]|0)+32>>2]|0;x=D+16|0;s=f[x>>2]|0;t=(f[D>>2]|0)+s|0;q=D+8|0;x=_o(f[q>>2]|0,f[q+4>>2]|0,s|0,f[x+4>>2]|0)|0;ao(e,t,x,d[e+38>>1]|0);e=f[r>>2]|0;x=(f[e+32>>2]|0)+16|0;t=x;t=Kp(f[t>>2]|0,f[t+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;f[x>>2]=t;f[x+4>>2]=I;do if((f[y>>2]|0)!=(f[z>>2]|0)){c=f[A>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((((h[e+36>>0]|0)<<8|(h[e+37>>0]|0))&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[C>>2]=f[v>>2];c=c+3|0;if(!(Uf(a,C)|0)){c=0;break a}x=f[A>>2]|0}while((c|0)<((f[x+4>>2]|0)-(f[x>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[C>>2]=f[w>>2];c=c+3|0;if(!(Of(a,C)|0)){c=0;break a}x=f[A>>2]|0}while((c|0)<((f[x+4>>2]|0)-(f[x>>2]|0)>>2|0))}}while(0);gn(g);gn(a+280|0);i=f[A>>2]|0;s=f[i+28>>2]|0;j=f[i+24>>2]|0;r=j;if((s-j|0)>0){m=f[k>>2]|0;q=s-j>>2;o=i+12|0;p=0;do{do if(f[m+(p>>>5<<2)>>2]&1<<(p&31)|0){n=r+(p<<2)|0;c=f[n>>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){l=f[o>>2]|0;g=f[l+(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[l+(g<<2)>>2]|0;k=g+1|0;if((g|0)<0)break b;g=((k|0)%3|0|0)==0?g+-2|0:k;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[n>>2]=c}while(0);p=p+1|0}while((p|0)<(q|0))}g=f[y>>2]|0;x=f[z>>2]|0;c=x;if((g|0)==(x|0)){i=s;e=g}else{j=0;do{Hj(c+(j*116|0)+4|0,i)|0;c=f[z>>2]|0;e=f[c+(j*116|0)+104>>2]|0;g=f[c+(j*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[B>>2]=f[e>>2];f[C>>2]=f[B>>2];th(c+(j*116|0)+4|0,C);e=e+4|0;c=f[z>>2]|0}while((e|0)!=(g|0));Bm(c+(j*116|0)+4|0,0,0);j=j+1|0;g=f[y>>2]|0;e=f[z>>2]|0;c=e;i=f[A>>2]|0}while(j>>>0<((g-e|0)/116|0)>>>0);j=f[i+24>>2]|0;i=f[i+28>>2]|0}j=i-j>>2;l=a+208|0;n=a+212|0;m=f[n>>2]|0;i=f[l>>2]|0;k=m-i>>2;do if(j>>>0>k>>>0){mj(l,j-k|0);c=f[z>>2]|0;g=f[y>>2]|0;e=c}else{if(j>>>0>=k>>>0)break;i=i+(j<<2)|0;if((m|0)==(i|0))break;f[n>>2]=m+(~((m+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){n=0;while(1){l=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;m=f[A>>2]|0;m=(f[m+28>>2]|0)-(f[m+24>>2]|0)>>2;l=(l|0)<(m|0)?m:l;m=c+(n*116|0)+88|0;k=c+(n*116|0)+92|0;j=f[k>>2]|0;c=f[m>>2]|0;i=j-c>>2;do if(l>>>0>i>>>0){mj(m,l-i|0);e=f[z>>2]|0;g=f[y>>2]|0}else{if(l>>>0>=i>>>0)break;c=c+(l<<2)|0;if((j|0)==(c|0))break;f[k>>2]=j+(~((j+-4-c|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=vb(a)|0}else c=0;while(0);is(D+24|0)}is(E+24|0)}}}}else c=0}else c=0}while(0)}E=c;u=F;return E|0}function cb(a){a=a|0;var c=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;F=u;u=u+128|0;C=F+116|0;l=F+112|0;n=F+108|0;p=F+104|0;t=F+100|0;q=F+96|0;s=F+88|0;E=F+40|0;D=F;v=F+92|0;w=F+84|0;B=F+80|0;m=a+144|0;f[m>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{A=c;c=f[c>>2]|0;ds(A)}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;k=f[r>>2]|0;c=b[k+36>>0]|0;k=f[k+32>>2]|0;do if(((c&255)<<8&65535)<512){z=k+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;j=k+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0){E=0;u=F;return E|0}else{e=(f[k>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[l>>2]=e;A=j;f[A>>2]=g;f[A+4>>2]=i;break}}else if(rk(l,k)|0){k=f[r>>2]|0;e=f[l>>2]|0;c=b[k+36>>0]|0;k=f[k+32>>2]|0;break}else{E=0;u=F;return E|0}while(0);f[m>>2]=e;if(((c&255)<<8&65535)<512){z=k+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;j=k+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0)c=0;else{e=(f[k>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[n>>2]=e;f[j>>2]=g;f[j+4>>2]=i;j=k;x=18}}else if(rk(n,k)|0){j=f[r>>2]|0;e=f[n>>2]|0;c=b[j+36>>0]|0;j=f[j+32>>2]|0;x=18}else c=0;if((x|0)==18){m=a+168|0;f[m>>2]=e;if(((c&255)<<8&65535)<512){z=j+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;i=j+16|0;e=i;c=f[e>>2]|0;e=Kp(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&A>>>0>>0)c=0;else{x=(f[j>>2]|0)+c|0;f[p>>2]=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=i;f[x>>2]=e;f[x+4>>2]=g;x=22}}else if(rk(p,j)|0)x=22;else c=0;do if((x|0)==22){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=no(60)|0;Tp(c);A=a+8|0;e=f[A>>2]|0;f[A>>2]=c;if(e){mk(e);ds(e);c=f[A>>2]|0;if(!c){c=0;break}}if(Tl(c,f[p>>2]|0)|0){i=a+172|0;e=f[i>>2]|0;g=a+176|0;c=f[g>>2]|0;if((c|0)!=(e|0))f[g>>2]=c+(~((c+-4-e|0)>>>2)<<2);Mk(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);Mk(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;z=c+8|0;y=f[z+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((y|0)>(g|0)|((y|0)==(g|0)?(f[z>>2]|0)>>>0>e>>>0:0)?(o=b[(f[c>>2]|0)+e>>0]|0,y=Kp(e|0,g|0,1,0)|0,z=i,f[z>>2]=y,f[z+4>>2]=I,o<<24>>24>=0):0){z=a+224|0;j=f[z>>2]|0;y=a+228|0;c=f[y>>2]|0;if((c|0)!=(j|0))do{f[y>>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);ds(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);ds(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);ds(e)}vk(c+-112|0);c=f[y>>2]|0}while((c|0)!=(j|0));l=o<<24>>24;Si(z,l);o=f[r>>2]|0;c=f[o+32>>2]|0;if(((h[o+36>>0]|0)<<8&65535)<512){n=c+8|0;o=f[n>>2]|0;n=f[n+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((n|0)<(i|0)|(n|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[t>>2]=c;x=j;f[x>>2]=g;f[x+4>>2]=i;x=58}}else if(rk(t,c)|0){c=f[t>>2]|0;x=58}else c=0;if((x|0)==58)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]|0)<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(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;x=j;f[x>>2]=g;f[x+4>>2]=i;x=64}else{if(!(rk(q,c)|0)){c=0;break}c=f[q>>2]|0;x=64}while(0);if((x|0)==64){k=a+132|0;q=c+(f[m>>2]|0)|0;b[C>>0]=1;Rh(k,q,C);q=f[r>>2]|0;c=f[q+32>>2]|0;do if(((h[q+36>>0]|0)<<8&65535)>=512)if(rk(s,c)|0)x=68;else c=0;else{p=c+8|0;q=f[p>>2]|0;p=f[p+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((p|0)<(i|0)|(p|0)==(i|0)&q>>>0>>0){c=0;break}x=(f[c>>2]|0)+e|0;f[s>>2]=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=j;f[x>>2]=g;f[x+4>>2]=i;x=68}while(0);if((x|0)==68){Hn(E);c=f[(f[r>>2]|0)+32>>2]|0;q=c+16|0;p=f[q>>2]|0;x=f[s>>2]|0;s=(f[c>>2]|0)+p+x|0;o=c+8|0;q=_o(f[o>>2]|0,f[o+4>>2]|0,p|0,f[q+4>>2]|0)|0;x=_o(q|0,I|0,x|0,0)|0;ao(E,s,x,d[c+38>>1]|0);c=Rb(a,E)|0;if((c|0)==-1)c=0;else{g=a+240|0;f[a+328>>2]=a;q=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=f[q>>2]|0;q=(f[q>>2]|0)+(f[q+16>>2]|0)|0;s=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=f[s>>2]|0;o=s+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;s=s+16|0;p=f[s>>2]|0;s=f[s+4>>2]|0;x=Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0;s=_o(n|0,o|0,p|0,s|0)|0;ao(g,q,s,d[(f[x+32>>2]|0)+38>>1]|0);x=Sa[f[(f[a>>2]|0)+36>>2]&255](a)|0;f[a+332>>2]=x;f[a+336>>2]=f[m>>2];f[a+324>>2]=l;Hn(D);a:do if(Sc(g,D)|0){if((Ya(a,f[t>>2]|0)|0)==-1){c=0;break}e=f[(f[r>>2]|0)+32>>2]|0;x=D+16|0;s=f[x>>2]|0;t=(f[D>>2]|0)+s|0;q=D+8|0;x=_o(f[q>>2]|0,f[q+4>>2]|0,s|0,f[x+4>>2]|0)|0;ao(e,t,x,d[e+38>>1]|0);e=f[r>>2]|0;x=(f[e+32>>2]|0)+16|0;t=x;t=Kp(f[t>>2]|0,f[t+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;f[x>>2]=t;f[x+4>>2]=I;do if((f[y>>2]|0)!=(f[z>>2]|0)){c=f[A>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((((h[e+36>>0]|0)<<8|(h[e+37>>0]|0))&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[C>>2]=f[v>>2];c=c+3|0;if(!(Uf(a,C)|0)){c=0;break a}x=f[A>>2]|0}while((c|0)<((f[x+4>>2]|0)-(f[x>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[C>>2]=f[w>>2];c=c+3|0;if(!(Of(a,C)|0)){c=0;break a}x=f[A>>2]|0}while((c|0)<((f[x+4>>2]|0)-(f[x>>2]|0)>>2|0))}}while(0);gn(g);gn(a+280|0);i=f[A>>2]|0;s=f[i+28>>2]|0;j=f[i+24>>2]|0;r=j;if((s-j|0)>0){m=f[k>>2]|0;q=s-j>>2;o=i+12|0;p=0;do{do if(f[m+(p>>>5<<2)>>2]&1<<(p&31)|0){n=r+(p<<2)|0;c=f[n>>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){l=f[o>>2]|0;g=f[l+(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[l+(g<<2)>>2]|0;k=g+1|0;if((g|0)<0)break b;g=((k|0)%3|0|0)==0?g+-2|0:k;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[n>>2]=c}while(0);p=p+1|0}while((p|0)<(q|0))}g=f[y>>2]|0;x=f[z>>2]|0;c=x;if((g|0)==(x|0)){i=s;e=g}else{j=0;do{Hj(c+(j*116|0)+4|0,i)|0;c=f[z>>2]|0;e=f[c+(j*116|0)+104>>2]|0;g=f[c+(j*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[B>>2]=f[e>>2];f[C>>2]=f[B>>2];th(c+(j*116|0)+4|0,C);e=e+4|0;c=f[z>>2]|0}while((e|0)!=(g|0));Bm(c+(j*116|0)+4|0,0,0);j=j+1|0;g=f[y>>2]|0;e=f[z>>2]|0;c=e;i=f[A>>2]|0}while(j>>>0<((g-e|0)/116|0)>>>0);j=f[i+24>>2]|0;i=f[i+28>>2]|0}j=i-j>>2;l=a+208|0;n=a+212|0;m=f[n>>2]|0;i=f[l>>2]|0;k=m-i>>2;do if(j>>>0>k>>>0){mj(l,j-k|0);c=f[z>>2]|0;g=f[y>>2]|0;e=c}else{if(j>>>0>=k>>>0)break;i=i+(j<<2)|0;if((m|0)==(i|0))break;f[n>>2]=m+(~((m+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){n=0;while(1){l=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;m=f[A>>2]|0;m=(f[m+28>>2]|0)-(f[m+24>>2]|0)>>2;l=(l|0)<(m|0)?m:l;m=c+(n*116|0)+88|0;k=c+(n*116|0)+92|0;j=f[k>>2]|0;c=f[m>>2]|0;i=j-c>>2;do if(l>>>0>i>>>0){mj(m,l-i|0);e=f[z>>2]|0;g=f[y>>2]|0}else{if(l>>>0>=i>>>0)break;c=c+(l<<2)|0;if((j|0)==(c|0))break;f[k>>2]=j+(~((j+-4-c|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=vb(a)|0}else c=0;while(0);is(D+24|0)}is(E+24|0)}}}}else c=0}else c=0}while(0)}E=c;u=F;return E|0}function db(a){a=a|0;var c=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;F=u;u=u+128|0;C=F+116|0;l=F+112|0;n=F+108|0;p=F+104|0;t=F+100|0;q=F+96|0;s=F+88|0;E=F+40|0;D=F;v=F+92|0;w=F+84|0;B=F+80|0;m=a+144|0;f[m>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{A=c;c=f[c>>2]|0;ds(A)}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;k=f[r>>2]|0;c=b[k+36>>0]|0;k=f[k+32>>2]|0;do if(((c&255)<<8&65535)<512){z=k+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;j=k+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0){E=0;u=F;return E|0}else{e=(f[k>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[l>>2]=e;A=j;f[A>>2]=g;f[A+4>>2]=i;break}}else if(rk(l,k)|0){k=f[r>>2]|0;e=f[l>>2]|0;c=b[k+36>>0]|0;k=f[k+32>>2]|0;break}else{E=0;u=F;return E|0}while(0);f[m>>2]=e;if(((c&255)<<8&65535)<512){z=k+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;j=k+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0)c=0;else{e=(f[k>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[n>>2]=e;f[j>>2]=g;f[j+4>>2]=i;j=k;x=18}}else if(rk(n,k)|0){j=f[r>>2]|0;e=f[n>>2]|0;c=b[j+36>>0]|0;j=f[j+32>>2]|0;x=18}else c=0;if((x|0)==18){m=a+168|0;f[m>>2]=e;if(((c&255)<<8&65535)<512){z=j+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;i=j+16|0;e=i;c=f[e>>2]|0;e=Kp(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&A>>>0>>0)c=0;else{x=(f[j>>2]|0)+c|0;f[p>>2]=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=i;f[x>>2]=e;f[x+4>>2]=g;x=22}}else if(rk(p,j)|0)x=22;else c=0;do if((x|0)==22){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=no(60)|0;Tp(c);A=a+8|0;e=f[A>>2]|0;f[A>>2]=c;if(e){mk(e);ds(e);c=f[A>>2]|0;if(!c){c=0;break}}if(Tl(c,f[p>>2]|0)|0){i=a+172|0;e=f[i>>2]|0;g=a+176|0;c=f[g>>2]|0;if((c|0)!=(e|0))f[g>>2]=c+(~((c+-4-e|0)>>>2)<<2);Mk(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);Mk(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;z=c+8|0;y=f[z+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((y|0)>(g|0)|((y|0)==(g|0)?(f[z>>2]|0)>>>0>e>>>0:0)?(o=b[(f[c>>2]|0)+e>>0]|0,y=Kp(e|0,g|0,1,0)|0,z=i,f[z>>2]=y,f[z+4>>2]=I,o<<24>>24>=0):0){z=a+224|0;j=f[z>>2]|0;y=a+228|0;c=f[y>>2]|0;if((c|0)!=(j|0))do{f[y>>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);ds(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);ds(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);ds(e)}vk(c+-112|0);c=f[y>>2]|0}while((c|0)!=(j|0));l=o<<24>>24;Si(z,l);o=f[r>>2]|0;c=f[o+32>>2]|0;if(((h[o+36>>0]|0)<<8&65535)<512){n=c+8|0;o=f[n>>2]|0;n=f[n+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((n|0)<(i|0)|(n|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[t>>2]=c;x=j;f[x>>2]=g;f[x+4>>2]=i;x=58}}else if(rk(t,c)|0){c=f[t>>2]|0;x=58}else c=0;if((x|0)==58)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]|0)<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(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;x=j;f[x>>2]=g;f[x+4>>2]=i;x=64}else{if(!(rk(q,c)|0)){c=0;break}c=f[q>>2]|0;x=64}while(0);if((x|0)==64){k=a+132|0;q=c+(f[m>>2]|0)|0;b[C>>0]=1;Rh(k,q,C);q=f[r>>2]|0;c=f[q+32>>2]|0;do if(((h[q+36>>0]|0)<<8&65535)>=512)if(rk(s,c)|0)x=68;else c=0;else{p=c+8|0;q=f[p>>2]|0;p=f[p+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Kp(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((p|0)<(i|0)|(p|0)==(i|0)&q>>>0>>0){c=0;break}x=(f[c>>2]|0)+e|0;f[s>>2]=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;x=j;f[x>>2]=g;f[x+4>>2]=i;x=68}while(0);if((x|0)==68){Hn(E);c=f[(f[r>>2]|0)+32>>2]|0;q=c+16|0;p=f[q>>2]|0;x=f[s>>2]|0;s=(f[c>>2]|0)+p+x|0;o=c+8|0;q=_o(f[o>>2]|0,f[o+4>>2]|0,p|0,f[q+4>>2]|0)|0;x=_o(q|0,I|0,x|0,0)|0;ao(E,s,x,d[c+38>>1]|0);c=Rb(a,E)|0;if((c|0)==-1)c=0;else{g=a+240|0;f[a+328>>2]=a;q=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;q=f[q>>2]|0;q=(f[q>>2]|0)+(f[q+16>>2]|0)|0;s=(Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0)+32|0;s=f[s>>2]|0;o=s+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;s=s+16|0;p=f[s>>2]|0;s=f[s+4>>2]|0;x=Sa[f[(f[a>>2]|0)+32>>2]&255](a)|0;s=_o(n|0,o|0,p|0,s|0)|0;ao(g,q,s,d[(f[x+32>>2]|0)+38>>1]|0);f[a+324>>2]=l;Hn(D);a:do if(te(g,D)|0){if((_a(a,f[t>>2]|0)|0)==-1){c=0;break}e=f[(f[r>>2]|0)+32>>2]|0;x=D+16|0;s=f[x>>2]|0;t=(f[D>>2]|0)+s|0;q=D+8|0;x=_o(f[q>>2]|0,f[q+4>>2]|0,s|0,f[x+4>>2]|0)|0;ao(e,t,x,d[e+38>>1]|0);e=f[r>>2]|0;x=(f[e+32>>2]|0)+16|0;t=x;t=Kp(f[t>>2]|0,f[t+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;f[x>>2]=t;f[x+4>>2]=I;do if((f[y>>2]|0)!=(f[z>>2]|0)){c=f[A>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((((h[e+36>>0]|0)<<8|(h[e+37>>0]|0))&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[C>>2]=f[v>>2];c=c+3|0;if(!(Uf(a,C)|0)){c=0;break a}x=f[A>>2]|0}while((c|0)<((f[x+4>>2]|0)-(f[x>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[C>>2]=f[w>>2];c=c+3|0;if(!(Pf(a,C)|0)){c=0;break a}x=f[A>>2]|0}while((c|0)<((f[x+4>>2]|0)-(f[x>>2]|0)>>2|0))}}while(0);gn(g);gn(a+280|0);i=f[A>>2]|0;s=f[i+28>>2]|0;j=f[i+24>>2]|0;r=j;if((s-j|0)>0){m=f[k>>2]|0;q=s-j>>2;o=i+12|0;p=0;do{do if(f[m+(p>>>5<<2)>>2]&1<<(p&31)|0){n=r+(p<<2)|0;c=f[n>>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){l=f[o>>2]|0;g=f[l+(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[l+(g<<2)>>2]|0;k=g+1|0;if((g|0)<0)break b;g=((k|0)%3|0|0)==0?g+-2|0:k;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[n>>2]=c}while(0);p=p+1|0}while((p|0)<(q|0))}g=f[y>>2]|0;x=f[z>>2]|0;c=x;if((g|0)==(x|0)){i=s;e=g}else{j=0;do{Hj(c+(j*116|0)+4|0,i)|0;c=f[z>>2]|0;e=f[c+(j*116|0)+104>>2]|0;g=f[c+(j*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[B>>2]=f[e>>2];f[C>>2]=f[B>>2];th(c+(j*116|0)+4|0,C);e=e+4|0;c=f[z>>2]|0}while((e|0)!=(g|0));Bm(c+(j*116|0)+4|0,0,0);j=j+1|0;g=f[y>>2]|0;e=f[z>>2]|0;c=e;i=f[A>>2]|0}while(j>>>0<((g-e|0)/116|0)>>>0);j=f[i+24>>2]|0;i=f[i+28>>2]|0}j=i-j>>2;l=a+208|0;n=a+212|0;m=f[n>>2]|0;i=f[l>>2]|0;k=m-i>>2;do if(j>>>0>k>>>0){mj(l,j-k|0);c=f[z>>2]|0;g=f[y>>2]|0;e=c}else{if(j>>>0>=k>>>0)break;i=i+(j<<2)|0;if((m|0)==(i|0))break;f[n>>2]=m+(~((m+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){n=0;while(1){l=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;m=f[A>>2]|0;m=(f[m+28>>2]|0)-(f[m+24>>2]|0)>>2;l=(l|0)<(m|0)?m:l;m=c+(n*116|0)+88|0;k=c+(n*116|0)+92|0;j=f[k>>2]|0;c=f[m>>2]|0;i=j-c>>2;do if(l>>>0>i>>>0){mj(m,l-i|0);e=f[z>>2]|0;g=f[y>>2]|0}else{if(l>>>0>=i>>>0)break;c=c+(l<<2)|0;if((j|0)==(c|0))break;f[k>>2]=j+(~((j+-4-c|0)>>>2)<<2)}while(0);n=n+1|0;if(n>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=vb(a)|0}else c=0;while(0);is(D+24|0)}is(E+24|0)}}}}else c=0}else c=0}while(0)}E=c;u=F;return E|0}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,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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=xo(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=mo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=mo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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)){uc(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)){uc(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(6524,6554,51,6673);else if((o|0)==28)Ga(22236,22274,223,22416);else if((o|0)==37)Ga(6524,6554,51,6673);else if((o|0)==42)Ga(22431,22455,48,22558);else if((o|0)==44)Ga(22587,22455,49,22558);else if((o|0)==56)Ga(22431,22455,48,22558);else if((o|0)==58)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(e);u=M;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,v=0,w=0,x=0,y=0,z=0,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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=xo(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 ei(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 ei(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)){uc(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)){uc(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(22236,22274,223,22416);else if((n|0)==36)Ga(22431,22455,48,22558);else if((n|0)==38)Ga(22587,22455,49,22558);else if((n|0)==53)Ga(22431,22455,48,22558);else if((n|0)==55)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(d);u=Q;return}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,v=0,w=0,x=0,y=0,z=0,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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=mo(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=mo(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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)){uc(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)){uc(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(6524,6554,51,6673);else if((v|0)==28)Ga(22236,22274,223,22416);else if((v|0)==37)Ga(6524,6554,51,6673);else if((v|0)==42)Ga(22431,22455,48,22558);else if((v|0)==44)Ga(22587,22455,49,22558);else if((v|0)==56)Ga(22431,22455,48,22558);else if((v|0)==58)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(e);u=O;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,v=0,w=0,x=0,y=0,z=0,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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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 ei(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 ei(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)){uc(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)){uc(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(22236,22274,223,22416);else if((q|0)==36)Ga(22431,22455,48,22558);else if((q|0)==38)Ga(22587,22455,49,22558);else if((q|0)==53)Ga(22431,22455,48,22558);else if((q|0)==55)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(d);u=Q;return}function ib(a,b,c,d,e,g){a=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 mj(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{Xh(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 Xh(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 Xh(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 Xh(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=no(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;xl(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){Oq(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){_j(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);ds(h)}ds(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);ds(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);ds(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);ds(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);ds(h);u=S;return 1}function jb(a,c,d){a=a|0;c=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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=Lj(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=mo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=mo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=(Cl(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)){uc(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)){uc(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(6524,6554,51,6673);else if((o|0)==28)Ga(22236,22274,223,22416);else if((o|0)==37)Ga(6524,6554,51,6673);else if((o|0)==42)Ga(22431,22455,48,22558);else if((o|0)==44)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(e);u=K;return}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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=xo(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=mo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=mo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=(Cl(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)){uc(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)){uc(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(6524,6554,51,6673);else if((o|0)==28)Ga(22236,22274,223,22416);else if((o|0)==37)Ga(6524,6554,51,6673);else if((o|0)==42)Ga(22431,22455,48,22558);else if((o|0)==44)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(e);u=K;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,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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=Lj(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 ei(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 ei(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=(Cl(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)){uc(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)){uc(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(22236,22274,223,22416);else if((n|0)==36)Ga(22431,22455,48,22558);else if((n|0)==38)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(d);u=O;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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=xo(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 ei(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 ei(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=(Cl(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)){uc(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)){uc(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(22236,22274,223,22416);else if((n|0)==36)Ga(22431,22455,48,22558);else if((n|0)==38)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(d);u=O;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,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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=mo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=mo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=(Cl(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)){uc(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)){uc(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(6524,6554,51,6673);else if((o|0)==28)Ga(22236,22274,223,22416);else if((o|0)==37)Ga(6524,6554,51,6673);else if((o|0)==42)Ga(22431,22455,48,22558);else if((o|0)==44)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(e);u=K;return}function ob(a){a=a|0;var c=0,d=0,e=0,g=La,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=0,y=0,z=0,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=La;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;yi(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){Pq(Q);T=Ia(4)|0;Hr(T);sa(T|0,1488,137)}else{G=c<<2;F=no(G)|0;f[Q>>2]=F;P=F+(c<<2)|0;f[Q+8>>2]=P;_j(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=no(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;yi(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)){Bj(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)Ga(22727,22625,67,22717);else if((A|0)==76)Ga(22727,22625,67,22717)}else{I=0;N=0}while(0);if((N|0)!=(I|0)){Ta[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);ds(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);ds(c)}c=f[S+8>>2]|0;if(c|0)do{R=c;c=f[c>>2]|0;ds(R)}while((c|0)!=0);c=f[S>>2]|0;f[S>>2]=0;if(!c){u=T;return}ds(c);u=T;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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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 ei(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 ei(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=(Cl(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)){uc(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)){uc(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(22236,22274,223,22416);else if((n|0)==36)Ga(22431,22455,48,22558);else if((n|0)==38)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(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 mj(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{Xh(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 Xh(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 Xh(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 Xh(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=no(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;xl(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){Oq(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){_j(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);ds(h)}ds(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);ds(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);ds(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);ds(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);ds(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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=xo(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=mo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=mo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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;dk(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)){uc(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)){uc(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(6524,6554,51,6673);else if((L|0)==27)Ga(22236,22274,223,22416);else if((L|0)==36)Ga(6524,6554,51,6673);else if((L|0)==41)Ga(22431,22455,48,22558);else if((L|0)==43)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=mo(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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=mo(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Fh((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;dk(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)){uc(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)){uc(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(6524,6554,51,6673);else if((L|0)==27)Ga(22236,22274,223,22416);else if((L|0)==36)Ga(6524,6554,51,6673);else if((L|0)==41)Ga(22431,22455,48,22558);else if((L|0)==43)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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=xo(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 ei(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 ei(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;dk(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)){uc(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)){uc(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(22236,22274,223,22416);else if((O|0)==35)Ga(22431,22455,48,22558);else if((O|0)==37)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(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;Ik(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);ds(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;Ik(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);ds(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;uc(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){ds(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 ei(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 ei(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;dk(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)){uc(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)){uc(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(22236,22274,223,22416);else if((O|0)==35)Ga(22431,22455,48,22558);else if((O|0)==37)Ga(22587,22455,49,22558)}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{ds(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{ds(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}ds(d);u=Q;return}function vb(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 fh(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;Ik(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{fh(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);ds(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;xl(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{Bj(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 Bj(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{fh(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);ds(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);ds(b)}u=I;return 1}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;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 Xh(y,b-g|0,5068);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)Pq(A);c=((b+-1|0)>>>5)+1|0;s=no(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;_j(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)Pq(z);c=((g+-1|0)>>>5)+1|0;h=no(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;_j(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))Bj(y,5068);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))Bj(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){Pq(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;jj(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){ds(d);c=f[A>>2]|0}if(!c){u=B;return 1}ds(c);u=B;return 1}function xb(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;Fp(c)|0;if((I|0)<0){C=1;A=23429;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?23430:23435):23432}Fp(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Jr(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=nl(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[23464+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;Yl(a,32,d,j,g);mq(a,p,o);Yl(a,48,d,j,g^65536);mq(a,F,C);Yl(a,48,D-C|0,0,0);mq(a,n,E);Yl(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=Ro(f[j>>2]|0,0,o|0)|0;x=Kp(x|0,I|0,l|0,0)|0;y=I;v=bo(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Hq(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=nl(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;Yl(a,32,d,j,g);mq(a,A,C);Yl(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=nl(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){_j(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}mq(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)mq(a,23480,1);if(m>>>0>>0&(k|0)>0)while(1){l=nl(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){_j(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}mq(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}Yl(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=nl(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;mq(a,l,1);if(e&(k|0)<1){l=m;break}mq(a,23480,1);l=m}else{if(l>>>0<=F>>>0)break;_j(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;mq(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Yl(a,48,k+18|0,18,0);mq(a,v,D-v|0)}Yl(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Yl(a,32,d,j,g&-65537);mq(a,A,C);mq(a,c!=c|0.0!=0.0?(F?23456:23460):F?23448:23452,3);Yl(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function yb(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=Rr()|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)mq(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=sn(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=sn(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+(22948+(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}Sf(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=Sn(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=23412;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=_o(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=23412;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?23412:23414):23413;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=23412;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=23412;i=x;break}case 109:{i=Rr()|0;i=tq(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:23422;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){Yl(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=xb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=23412;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=xn(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?23412:23412+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=nl(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=fj(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=23412;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=sq(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}Yl(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=sq(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}mq(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;Yl(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;Yl(a,32,i,l,n);mq(a,j,k);Yl(a,48,i,l,n^65536);Yl(a,48,q,r,0);mq(a,o,r);Yl(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;Sf(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 Ck(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?(js(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=Ak(c,a)|0;is(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=Ak(c,a)|0}while(0);return d|0}function Dk(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){Pq(a);c=Ia(4)|0;Hr(c);sa(c|0,1488,137)}e=no(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{zk(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2472;b=f[a+96>>2]|0;if(b|0)ds(b);b=f[a+84>>2]|0;if(b|0)ds(b);b=f[a+72>>2]|0;if(b|0)ds(b);b=f[a+60>>2]|0;if(b|0)ds(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c){ds(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);ds(c);ds(a);return}function Fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)ds(b);b=f[a+84>>2]|0;if(b|0)ds(b);b=f[a+72>>2]|0;if(b|0)ds(b);b=f[a+60>>2]|0;if(b|0)ds(b);f[a>>2]=1884;c=f[a+32>>2]|0;if(!c){ds(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);ds(c);ds(a);return}function Gk(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;Jk(g,c,Rk(c)|0);a=$j(b,g,e)|0;Op(g);Op(e);u=d;return a|0}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4744;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));em(b);return}function Ik(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){Pq(a);e=Ia(4)|0;Hr(e);sa(e|0,1488,137)}g=no(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 Jk(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{Lq(a);g=5}if((g|0)==5){i=d+16&-16;g=no(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}Wp(a,c,d)|0;b[e>>0]=0;Uq(a+d|0,e);u=h;return}function Kk(a){a=a|0;var b=0,c=0;f[a>>2]=2472;b=f[a+96>>2]|0;if(b|0)ds(b);b=f[a+84>>2]|0;if(b|0)ds(b);b=f[a+72>>2]|0;if(b|0)ds(b);b=f[a+60>>2]|0;if(b|0)ds(b);f[a>>2]=1884;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);ds(c);return}function Lk(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=Kp(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 Mk(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;Hr(a);sa(a|0,1488,137)}j=(f[d>>2]|0)-c|0;h=j>>2;i=no(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Fh(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;ds(c);return}function Nk(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(!(vr(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 Ok(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)ds(b);b=f[a+84>>2]|0;if(b|0)ds(b);b=f[a+72>>2]|0;if(b|0)ds(b);b=f[a+60>>2]|0;if(b|0)ds(b);f[a>>2]=1884;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);ds(c);return}function Pk(a,c,d){a=a|0;c=c|0;d=d|0;c=Dh(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=Nk(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Qk(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(!(Em(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 Rk(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 Sk(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;Jk(d,20134,24);Aj(vd(a,e)|0,d,1);Op(d);u=c;return}function Tk(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]&255](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 Uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4628;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);ds(b)}f[a+12>>2]=4652;b=f[a+32>>2]|0;if(b|0)ds(b);b=f[a+20>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Vk(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{qh(a+40|0,b);a=1;return a|0}return 0}function Wk(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]&255](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 Xk(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=Wo(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+Xk(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 Yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4720;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);ds(b)}f[a+12>>2]=4700;b=f[a+32>>2]|0;if(b|0)ds(b);b=f[a+20>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2528;b=f[a+76>>2]|0;if(b|0)ds(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)bs(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function _k(a){a=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+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}if(!(f[a+40>>2]|0)){a=0;return a|0}a=(f[a+76>>2]|0)!=-1;return a|0}function $k(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;Jk(e,c,Rk(c)|0);xi(b,e,g)|0;d=+p[g>>3];Op(e);u=a;return +d}function al(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[23482+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=23570;e=5;break}}if((e|0)==2)if(!d)d=23570;else{a=23570;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 zr(d,f[c+20>>2]|0)|0}function bl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4628;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);ds(b)}f[a+12>>2]=4652;b=f[a+32>>2]|0;if(b|0)ds(b);b=f[a+20>>2]|0;if(!b)return;ds(b);return}function cl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)ds(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)bs(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function dl(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 el(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;Jk(e,c,Rk(c)|0);pk(b,e,a)|0;a=f[a>>2]|0;Op(e);u=d;return a|0}function fl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=4720;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);ds(b)}f[a+12>>2]=4700;b=f[a+32>>2]|0;if(b|0)ds(b);b=f[a+20>>2]|0;if(!b)return;ds(b);return}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=no(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=ni(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;mk(a);ds(a);return}function hl(a){a=a|0;if(!a)return;Op(a+28|0);ek(a+12|0,f[a+16>>2]|0);nk(a,f[a+4>>2]|0);ds(a);return}function il(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=no(20)|0;hp(c);break}case 1:{c=no(24)|0;Jp(c);break}case 2:{c=no(36)|0;uo(c);break}case 3:{c=no(28)|0;Cp(c);break}default:c=0}f[a>>2]=c;return}function jl(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=_o(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return _o((Bd(h,g,_o(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 kl(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){Al(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 ll(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;Jk(e,c,Rk(c)|0);a=xi(b,e,a)|0;Op(e);u=d;return a|0}function ml(a){a=a|0;var b=0,c=0;f[a>>2]=2528;b=f[a+76>>2]|0;if(b|0)ds(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)bs(b);f[a>>2]=1884;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);ds(c);return}function nl(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=bo(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Hq(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 ol(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=5084;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);ds(b)}b=f[a+84>>2]|0;if(!b){lh(a);ds(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);ds(b);lh(a);ds(a);return}function pl(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(22894,22811,64,22889);c=f[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}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;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Jk(e,c,Rk(c)|0);a=pk(b,e,a)|0;Op(e);u=d;return a|0}function rl(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 sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Kc(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){rn(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 tl(a){a=a|0;var b=0,c=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)ds(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)bs(b);f[a>>2]=1884;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);ds(c);return}function ul(a,b,c,d,e,g){a=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 vl(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]&255](a)|0):0){a=0;return a|0}a=ed(a,b,c)|0;return a|0}function wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ga(22786,22811,63,22889);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;vg(c,a,a+12|0);return 1}else Ga(22894,22811,64,22889);return 0}function xl(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){Pq(a);a=Ia(4)|0;Hr(a);sa(a|0,1488,137)}d=b<<2;e=no(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;_j(e|0,0,d|0)|0;f[c>>2]=b;return}function yl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=5084;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);ds(b)}b=f[a+84>>2]|0;if(!b){lh(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);ds(b);lh(a);return}function zl(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Bo(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)Ga(22609,22625,66,22717);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Ga(22727,22625,67,22717);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Al(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 nj(a,b-g|0);a=a+24|0;h=a;h=Kp(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Bl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2584;b=f[a+76>>2]|0;if(b|0)ds(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function Cl(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 Dl(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;Jg(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;dn(a+28|0,b)|0;Op(b);u=d;return c|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;b=f[b+4>>2]|0;if(!b){c=0;return c|0}a=f[b+40>>2]|0;d=f[b+44>>2]|0;a:do if((a|0)==(d|0))b=0;else while(1){b=f[a>>2]|0;a=a+4|0;if((f[b+40>>2]|0)==(c|0))break a;if((a|0)==(d|0)){b=0;break}}while(0);c=b;return c|0}function Fl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)ds(b);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0;d=no(40)|0;f[d>>2]=-1;zo(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;ds(a)}ds(b);return 1}function Hl(a){a=a|0;var b=0;f[a>>2]=3356;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Il(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1604;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);ds(b)}b=f[a+4>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function Jl(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;Kg(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;dn(a+28|0,b)|0;Op(b);u=d;return c|0}function Kl(a){a=a|0;var b=0;f[a>>2]=2992;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Ll(a){a=a|0;var b=0;f[a>>2]=4140;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Ml(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 Nl(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(Aq(a,f[b+8>>2]|0,g)|0)ak(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 Ol(a){a=a|0;var b=0,c=0;f[a>>2]=2584;b=f[a+76>>2]|0;if(b|0)ds(b);f[a>>2]=1884;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);ds(c);return}function Pl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2640;is(a+108|0);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function Ql(a){a=a|0;var b=0,c=0;f[a>>2]=4392;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)bs(b);f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ck(a);ds(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);ck(a);ds(a);return}function Rl(a){a=a|0;var b=0;f[a>>2]=3776;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Sl(a){a=a|0;var b=0;f[a>>2]=3356;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b)return;ds(b);return}function Tl(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}Ag(a,c,5072);Ag(a+12|0,c,5068);Mk(a+24|0,c);a=1;return a|0}function Ul(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;c=c+1|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function Vl(a){a=a|0;var b=0,c=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)ds(b);f[a>>2]=1884;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);ds(c);return}function Wl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2276;is(a+108|0);f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function Xl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1604;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);ds(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);ds(d);return}function Yl(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;_j(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{mq(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}mq(a,f,e)}u=g;return}function Zl(a){a=a|0;var b=0;f[a>>2]=2992;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b)return;ds(b);return}function _l(a){a=a|0;var b=0;f[a>>2]=4140;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b)return;ds(b);return}function $l(a){a=a|0;var b=0,c=0;f[a>>2]=4392;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)bs(b);f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ck(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);ck(a);return}function am(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(22609,22625,66,22717);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(22727,22625,67,22717);return 0}function bm(a){a=a|0;var b=0;f[a>>2]=3776;b=f[a+80>>2]|0;if(b|0)ds(b);b=f[a+68>>2]|0;if(b|0)ds(b);b=f[a+56>>2]|0;if(b|0)ds(b);b=f[a+44>>2]|0;if(!b)return;ds(b);return}function cm(a){a=a|0;var b=0,c=0;f[a>>2]=2640;is(a+108|0);f[a>>2]=1884;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);ds(c);return}function dm(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 em(a){a=a|0;var b=0;Hn(a);Hn(a+40|0);b=a+80|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;Ar(a+112|0);f[a+128>>2]=-1;f[a+132>>2]=-1;return}function fm(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);ds(c);return}function gm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Aq(a,f[b+8>>2]|0,0)|0)rl(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 hm(a){a=a|0;var b=0,c=0;f[a>>2]=2276;is(a+108|0);f[a>>2]=1884;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);ds(c);return}function im(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)Jk(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 jm(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 km(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((Vp(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 lm(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 mm(a,b){a=a|0;b=b|0;var c=0;Un(a);f[a>>2]=1764;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 nm(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 om(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jk(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 pm(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=Th(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function qm(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;if(!(f[a+36>>2]|0))return 0;else return (f[a+40>>2]|0)!=0|0;return 0}function rm(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){Kq(a);d=b[e>>0]|0}if(d<<24>>24<0)a=f[a>>2]|0;return a+c|0}function sm(a){a=a|0;var b=0,c=0;f[a>>2]=3412;b=f[a+60>>2]|0;if(b|0)ds(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ds(a);return}bs(b);ds(a);return}function tm(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 um(a){a=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+40>>2]|0)!=0;return a|0}function vm(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 wm(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 xm(a){a=a|0;var b=0,c=0;f[a>>2]=3048;b=f[a+60>>2]|0;if(b|0)ds(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ds(a);return}bs(b);ds(a);return}function ym(a){a=a|0;var b=0,c=0;f[a>>2]=4196;b=f[a+60>>2]|0;if(b|0)ds(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ds(a);return}bs(b);ds(a);return}function zm(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=Kh(a,c,d)|0;u=g;return e|0}function Am(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 Bm(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){jc(a,b,c);return}else{yc(a,0,0);return}}function Cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;ug(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Dm(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 Em(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=Lb(a,b,d)|0;u=c;return a|0}function Fm(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 Gm(a){a=a|0;var b=0,c=0;f[a>>2]=3832;b=f[a+60>>2]|0;if(b|0)ds(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ds(a);return}bs(b);ds(a);return}function Hm(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 Im(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=(js(d)|0)==0;a=pj(a,e,d)|0;if(!g)is(d)}else a=pj(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Jm(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 Km(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]&255](a)|0;return a|0}function Lm(a){a=a|0;var b=0;f[a>>2]=3412;b=f[a+60>>2]|0;if(b|0)ds(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;bs(b);return}function Mm(a,c,d){a=a|0;c=c|0;d=d|0;if(!(Bo(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 Nm(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+48>>2]=c;a=1;return a|0}function Om(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 Pm(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(Aq(a,f[b+8>>2]|0,g)|0)ak(0,b,c,d,e);return}function Qm(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+44>>2]=c;c=1}else c=0;return c|0}function Rm(a){a=a|0;var b=0;f[a>>2]=3048;b=f[a+60>>2]|0;if(b|0)ds(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;bs(b);return}function Sm(a){a=a|0;var b=0;f[a>>2]=4196;b=f[a+60>>2]|0;if(b|0)ds(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;bs(b);return}function Tm(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 Um(a){a=a|0;var b=0,c=0;f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ck(a);ds(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);ck(a);ds(a);return}function Vm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1884;b=f[a+32>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function Wm(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 Xm(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;Rh(a+20|0,e,d);u=c;return}function Ym(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 Zm(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 _m(a){a=a|0;var b=0;f[a>>2]=3832;b=f[a+60>>2]|0;if(b|0)ds(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;bs(b);return}function $m(){var a=0,b=0;a=no(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 an(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;Rh(a+20|0,e,d);u=c;return}function bn(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 cn(a){a=a|0;f[a>>2]=4676;zj(a+8|0);ds(a);return}function dn(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;Tj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function en(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;Gj(d,b);a=f[d+16>>2]|0;Op(d+4|0);u=c;return a|0}function fn(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 gn(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=Kp(f[a+32>>2]|0,0,7,0)|0;d=Wo(d|0,I|0,3)|0;a=a+16|0;c=a;c=Kp(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 hn(a){a=a|0;var b=0,c=0;f[a>>2]=1824;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ck(a);return}Pa[f[(f[b>>2]|0)+4>>2]&255](b);ck(a);return}function jn(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(7630,7636,76,7784);return 0}function kn(a){a=a|0;f[a>>2]=4676;zj(a+8|0);return}function ln(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;Od(a,b,c,d,e);return}function mn(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 nn(a){a=a|0;var b=0,c=0;f[a>>2]=1884;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);ds(c);return}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Aq(a,f[b+8>>2]|0,0)|0)rl(0,b,c,d);return}function pn(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 qn(a){a=a|0;var b=0;f[a>>2]=4944;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 rn(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 Fh(a,c,d)|0;return a|0}function sn(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 tn(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1572;b=f[a+8>>2]|0;if(!b){ds(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);ds(b);ds(a);return}function un(a){a=a|0;var b=0;f[a>>2]=3468;b=f[a+60>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function vn(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ga(22609,22625,58,22717);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(22727,22625,59,22717);return 0}function wn(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 xn(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[23464+(a&15)>>0]|0|e;a=Wo(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function yn(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 zn(){var a=0,b=0;b=ko()|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)Zp(f[a+12>>2]|0);Zp(jr()|0)}function An(a){a=a|0;var b=0;f[a>>2]=3104;b=f[a+60>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Bn(a){a=a|0;var b=0;f[a>>2]=4252;b=f[a+60>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Cn(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 Dn(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);ds(b)}ds(a);return}function En(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 Fn(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 Gn(a){a=a|0;var b=0;f[a>>2]=3888;b=f[a+60>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Hn(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 In(a){a=a|0;var b=0,c=0;f[a>>2]=1572;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);ds(c);return}function Jn(a,b){a=a|0;b=b|0;return aj(a+8|0,b)|0}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;Pb(a,b,c);return}function Ln(a){a=a|0;f[a>>2]=3468;a=f[a+60>>2]|0;if(!a)return;ds(a);return}function Mn(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(12983,13354,61,12994);return 0}function Nn(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 On(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(12983,12583,65,12994);return 0}function Pn(a){a=a|0;f[a>>2]=3104;a=f[a+60>>2]|0;if(!a)return;ds(a);return}function Qn(a){a=a|0;f[a>>2]=4252;a=f[a+60>>2]|0;if(!a)return;ds(a);return}function Rn(a){a=a|0;var b=0;f[a>>2]=4652;b=f[a+20>>2]|0;if(b|0)ds(b);b=f[a+8>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function Sn(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=Wo(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Tn(){var a=0,b=0;a=no(24)|0;f[a>>2]=1572;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 Un(a){a=a|0;f[a>>2]=1604;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 Vn(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;Fh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Wn(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(12983,13693,68,12994);return 0}function Xn(a,b){a=a|0;b=b|0;return cj(a+8|0,b)|0}function Yn(a){a=a|0;var c=0;Jm(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 Zn(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;ds(b)}ds(a);return}function _n(a){a=a|0;f[a>>2]=3888;a=f[a+60>>2]|0;if(!a)return;ds(a);return}function $n(a){a=a|0;var b=0;f[a>>2]=4700;b=f[a+20>>2]|0;if(b|0)ds(b);b=f[a+8>>2]|0;if(!b){ds(a);return}ds(b);ds(a);return}function ao(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 bo(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;Bd(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function co(a){a=a|0;f[a>>2]=3524;is(a+92|0);ds(a);return}function eo(a){a=a|0;var b=0;f[a>>2]=4652;b=f[a+20>>2]|0;if(b|0)ds(b);b=f[a+8>>2]|0;if(!b)return;ds(b);return}function fo(a){a=a|0;Iq(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 go(a){a=a|0;ap(a);f[a>>2]=5084;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 ho(a){a=a|0;f[a>>2]=3160;is(a+92|0);ds(a);return}function io(a){a=a|0;f[a>>2]=4308;is(a+92|0);ds(a);return}function jo(a){a=a|0;f[a>>2]=3524;is(a+92|0);return}function ko(){var a=0,b=0;a=u;u=u+16|0;if(!(Aa(26848,3)|0)){b=qa(f[6713]|0)|0;u=a;return b|0}else To(25997,a);return 0}function lo(a){a=a|0;var b=0;f[a>>2]=4700;b=f[a+20>>2]|0;if(b|0)ds(b);b=f[a+8>>2]|0;if(!b)return;ds(b);return}function mo(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=fn(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function no(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0)break;a=hr()|0;if(!a){a=0;break}Ua[a&3]()}return a|0}function oo(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=gs(f[a+60>>2]|0)|0;f[c>>2]=a;a=Vp(ua(6,c|0)|0)|0;u=b;return a|0}function po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jd(b,c,d)|0}function qo(a){a=a|0;f[a>>2]=3944;is(a+92|0);ds(a);return}function ro(a){a=a|0;var b=0;b=u;u=u+16|0;cc(a);if(!(ra(f[6713]|0,0)|0)){u=b;return}else To(26096,b)}function so(a){a=a|0;f[a>>2]=3160;is(a+92|0);return}function to(a){a=a|0;f[a>>2]=4308;is(a+92|0);return}function uo(a){a=a|0;Jp(a);f[a>>2]=4392;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function vo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return yd(b,c,d)|0}function wo(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 xo(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 yo(a){a=a|0;f[a>>2]=3944;is(a+92|0);return}function zo(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 Ao(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;return am(a,b,c)|0}function Co(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&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Do(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 Eo(a,b,c){a=a|0;b=b|0;c=c|0;return mn(b,c)|0}function Fo(a){a=a|0;be(a);ds(a);return}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=ar(a,b,e)|0;u=d;return c|0}function Ho(a,b,c){a=a|0;b=$(b);c=c|0;var d=La;d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;return}function Io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Cj(b,c,d)|0}function Jo(){var a=0;a=u;u=u+16|0;if(!(ya(26852,139)|0)){u=a;return}else To(26046,a)}function Ko(a){a=a|0;jf(a);ds(a);return}function Lo(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=ji(f[1386]|0,a,d)|0;u=c;return b|0}function Mo(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 No(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Sa[f[(f[a>>2]|0)+48>>2]&255](a)|0;return 0}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xh(b,c,d)|0}function Po(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)_j(a|0,(Cr(c)|0)&255|0,b|0)|0;return a|0}function Qo(a){a=a|0;return 4}function Ro(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 To(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1293]|0;ji(b,a,c)|0;Ck(10,b)|0;wa()}function Uo(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 Vo(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 Wo(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 Xo(a,b,c){a=a|0;b=b|0;c=c|0;return Dl(a,b,c)|0}function Yo(a){a=a|0;Ae(a);ds(a);return}function Zo(){}function _o(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 $o(a){a=a|0;return 5}function ap(a){a=a|0;var b=0;f[a>>2]=5124;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function bp(a){a=a|0;return 6}function cp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wl(b,c,d)|0}function dp(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 ep(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Bi(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function fp(a,b,c){a=a|0;b=b|0;c=c|0;return Eo(a,b,c)|0}function gp(a,b,c){a=a|0;b=b|0;c=c|0;return Pg(b,c)|0}function hp(a){a=a|0;f[a>>2]=1716;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function ip(a,b){a=a|0;b=b|0;Sk(a,b);return}function jp(a){a=a|0;if(!a)return;Op(a+4|0);ds(a);return}function kp(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 lp(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 mp(a,b,c){a=a|0;b=b|0;c=c|0;return Jl(a,b,c)|0}function np(a,b,c){a=a|0;b=b|0;c=c|0;return Gk(a,b,c)|0}function op(a,b,c){a=a|0;b=b|0;c=c|0;return ll(a,b,c)|0}function pp(a,b,c){a=a|0;b=b|0;c=c|0;return yk(a,b,c)|0}function qp(a,b,c){a=a|0;b=b|0;c=c|0;return +(+$k(a,b,c))}function rp(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+28>>2]&255](a)|0}function sp(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function tp(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function up(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+24>>2]&255](a)|0}function vp(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 wp(a,b,c){a=a|0;b=b|0;c=c|0;return El(a,b,c)|0}function xp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function yp(a,b,c){a=a|0;b=b|0;c=c|0;return Qp(b,c)|0}function zp(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+36>>2]&255](a)|0}function Ap(a,b,c){a=a|0;b=b|0;c=c|0;return ql(a,b,c)|0}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;return el(a,b,c)|0}function Cp(a){a=a|0;Jp(a);f[a>>2]=2724;f[a+24>>2]=-1;return}function Dp(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;return Fj(b,c)|0}function Fp(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 Gp(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 Hp(){var a=0;a=no(40)|0;f[a>>2]=-1;zo(a+8|0);return a|0}function Ip(){var a=0;a=no(8)|0;f[a>>2]=1544;f[a+4>>2]=-1;return a|0}function Jp(a){a=a|0;hp(a);f[a>>2]=1824;f[a+20>>2]=0;return}function Kp(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 Lp(a,b){a=a|0;b=b|0;ip(a,b);return}function Mp(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function Np(a,b){a=a|0;b=b|0;return en(a,b)|0}function Op(a){a=a|0;if((b[a+11>>0]|0)<0)ds(f[a>>2]|0);return}function Pp(a){a=a|0;if(!a)return;Pa[f[(f[a>>2]|0)+4>>2]&255](a);return}function Qp(a,b){a=a|0;b=b|0;return Ul(a,b)|0}function Rp(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 Sp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)rn(a|0,b|0,c|0)|0;return a|0}function Tp(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 Up(a,b,c){a=a|0;b=b|0;c=c|0;return vn(b,c)|0}function Vp(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Rr()|0;f[b>>2]=0-a;a=-1}return a|0}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Fh(a|0,b|0,c|0)|0;return a|0}function Xp(a,b){a=a|0;b=b|0;return -1}function Yp(a){a=a|0;if(!a)a=0;else a=(mi(a,1448,1520,0)|0)!=0;return a&1|0}function Zp(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();To(26149,b)}function _p(a){a=a|0;Vi(a);ds(a);return}function $p(a){a=a|0;hq(a);f[a>>2]=4520;f[a+48>>2]=0;return}function aq(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 bq(a,b,c){a=a|0;b=b|0;c=c|0;wo(a,b,c);return}function cq(a){a=a|0;if(!a)return;is(a+24|0);ds(a);return}function dq(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function eq(){var a=0;a=no(64)|0;Jm(a);return a|0}function fq(a,b){a=a|0;b=b|0;return $(lq(a,b))}function gq(a){a=a|0;return f[a+8>>2]|0}function hq(a){a=a|0;qn(a);f[a>>2]=4460;f[a+44>>2]=0;return}function iq(a){a=a|0;if(!a)return;Jj(a);ds(a);return}function jq(a,b){a=a|0;b=b|0;return Wq(a,b)|0}function kq(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function lq(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function mq(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))pj(b,c,a)|0;return}function nq(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function oq(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 pq(){var a=0;a=no(96)|0;Yn(a);return a|0}function qq(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function rq(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function sq(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Dj(a,b,0)|0;return a|0}function tq(a){a=a|0;var b=0;b=($r()|0)+188|0;return al(a,f[b>>2]|0)|0}function uq(){var a=0;a=no(12)|0;Mq(a);return a|0}function vq(){var a=0;a=no(40)|0;Hn(a);return a|0}function wq(a,b){a=a|0;b=b|0;return Eq(a,b)|0}function xq(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 yq(a){a=a|0;ck(a);ds(a);return}function zq(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Aq(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Bq(a){a=a|0;Un(a);f[a>>2]=1660;return}function Cq(a,b){a=a|0;b=b|0;var c=0;c=Rq(a|0)|0;return ((b|0)==0?a:c)|0}function Dq(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Eq(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Fq(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Gq(a,b){a=a|0;b=b|0;return 1}function Hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bd(a,b,c,d,0)|0}function Iq(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Jq(){var a=0;a=no(84)|0;ap(a);return a|0}function Kq(a){a=a|0;Ga(25672,25550,1194,25701)}function Lq(a){a=a|0;Ga(25521,25550,1183,25651)}function Mq(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Nq(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Oq(a){a=a|0;Ga(25498,25397,315,25701)}function Pq(a){a=a|0;Ga(25374,25397,304,25651)}function Qq(a,b,c){a=a|0;b=b|0;c=c|0;return Wa[a&127](b|0,c|0)|0}function Rq(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Sq(a){a=a|0;hq(a);f[a>>2]=4860;return}function Tq(){var a=0;a=no(1)|0;is(a);return a|0}function Uq(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Vq(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 Wq(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function Xq(a){a=a|0;return $(n[a+20>>2])}function Yq(a){a=a|0;return f[a+4>>2]|0}function Zq(a){a=a|0;if(!a)return;ds(a);return}function _q(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function $q(a){a=a|0;return 3}function ar(a,b,c){a=a|0;b=b|0;c=c|0;return Rj(a,2147483647,b,c)|0}function br(a){a=a|0;return f[a+88>>2]|0}function cr(a,b,c){a=a|0;b=b|0;c=c|0;Qa[a&7](b|0,c|0)}function dr(){var a=0;a=no(40)|0;fo(a);return a|0}function er(){var a=0;a=no(108)|0;go(a);return a|0}function fr(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function gr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function hr(){var a=0;a=f[6714]|0;f[6714]=a+0;return a|0}function ir(a){a=a|0;return f[a+56>>2]|0}function jr(){var a=0;a=f[1545]|0;f[1545]=a+0;return a|0}function kr(a){a=a|0;lh(a);ds(a);return}function lr(a){a=a|0;return b[a+24>>0]|0}function mr(a,b){a=a|0;b=b|0;return 0}function nr(a){a=a|0;return f[a+40>>2]|0}function or(a){a=a|0;return f[a+48>>2]|0}function pr(a,b){a=a|0;b=b|0;return Sa[a&255](b|0)|0}function qr(a){a=a|0;return f[a+60>>2]|0}function rr(a){a=a|0;return f[a+28>>2]|0}function sr(a){a=a|0;xa(a|0)|0;zn()}function tr(a,b){a=a|0;b=b|0;u=a;v=b}function ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function vr(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wr(a){a=a|0;return (f[a>>2]|0)==0|0}function xr(a){a=a|0;return f[a+80>>2]|0}function yr(a,b){a=a|0;b=b|0;Pa[a&255](b|0)}function zr(a,b){a=a|0;b=b|0;return ep(a,b)|0}function Ar(a){a=a|0;b[a+12>>0]=0;return}function Br(a){a=a|0;is(a);ds(a);return}function Cr(a){a=a|0;return a&255|0}function Dr(a){a=a|0;f[a>>2]=0;return}function Er(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function Fr(a){a=a|0;return f[a>>2]|0}function Gr(a){a=a|0;return 2}function Hr(a){a=a|0;f[a>>2]=6276;return}function Ir(a){a=a|0;return 1}function Jr(a,b){a=+a;b=b|0;return +(+Xk(a,b))}function Kr(){return 3}function Lr(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function Mr(){return -4}function Nr(){return 4}function Or(){return -3}function Pr(){return 1}function Qr(){return 2}function Rr(){return ($r()|0)+64|0}function Sr(){return -5}function Tr(a,b){a=a|0;b=b|0;aa(9);return 0}function Ur(a){a=a|0;return 26189}function Vr(a){a=a|0;Ua[a&3]()}function Wr(){return -2}function Xr(){Ha()}function Yr(){return -1}function Zr(a,b){a=a|0;b=b|0;aa(3)}function _r(){return 0}function $r(){return ns()|0}function as(a){a=a|0;return no(a)|0}function bs(a){a=a|0;ds(a);return}function cs(a){a=a|0;u=a}function ds(a){a=a|0;cc(a);return}function es(a){a=a|0;I=a}function fs(){return 26784}function gs(a){a=a|0;return a|0}function hs(a){a=a|0;aa(5);return 0}function is(a){a=a|0;return}function js(a){a=a|0;return 0}function ks(){return I|0}function ls(){return u|0}function ms(a){a=a|0;aa(2)}function ns(){return 5300}function os(){aa(7)} // EMSCRIPTEN_END_FUNCS -var Ra=[zr,$o,_l,mm,wo,nj,xo,dh,Ud,Vj,Mm,uj,Jj,Si,zl,vj,ul,Kh,im,zm,Rn,lk,zr,zr,zr,zr,zr,zr,zr,zr,zr,zr];var Sa=[ar,Yj,Wh,ar];var Ta=[hs,ds,Yr,Dn,nn,Vl,Hl,Hl,ek,sq,Zi,Up,Hn,Cn,hn,Sm,Sm,Sm,Sm,Ok,Fk,sl,dl,Tl,El,fm,Ul,Sm,Sm,Kk,Ek,nl,Zk,Ol,Bl,am,Pl,Cn,ds,Yr,Yr,ds,Yr,Yr,Yr,Xl,Jl,Pm,wm,Ln,vn,oo,co,Yr,Yr,Sl,Gl,Lm,rm,Gn,on,fo,_n,ds,Yr,Yr,Yr,$l,Rl,Wm,Gm,Wn,An,uo,mo,Yr,Yr,Yl,Kl,Qm,xm,Mn,wn,po,eo,Zl,Ql,Bk,xk,bk,Uj,Ee,Uo,cl,Tk,$n,Nn,Tm,en,_m,ho,Xn,Ym,hl,Yk,he,Bo,kf,Go,xk,ds,Yr,xk,xk,xk,yl,pl,sb,Vh,er,ds,wr,ds,ds,wr,ds,wr,no];var Ua=[Vr,ll,Sg,jl,Zc,Vr,Vr,Vr];var Va=[rq,pe,oc,ec,ub,Ke,jf,dn,pc,dc,mb,Ge,hf,dn,kk,xf,vd,Hb,yh,$h,Gc,Cf,pd,Eb,uh,Xh,Ec,pk,Af,yd,Jb,Ch,di,Ic,Kf,rd,Gb,zh,ai,Hc,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq,rq];var Wa=[bs,Br,Dr,hq,lr,Dr,zf,eq,Sq,es,es,Dr,es,Dr,Dr,Am,Br,Am,Mo,Am,Vq,sm,Dr,Xo,sm,Dr,Zo,el,Dr,Dr,Am,Br,Am,Mo,Am,Vq,sm,Dr,Xo,sm,Dr,Zo,el,Dr,Br,Br,Vq,es,Sq,Dr,es,Dr,Vq,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,es,Sq,Dr,es,Dr,Br,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,Dr,tm,Br,tm,Mo,tm,Vq,pm,Dr,Xo,pm,Dr,Zo,$k,Dr,zg,Dr,Dr,Jo,ff,Ll,Dr,es,fh,np,up,qp,gb,Dr,Sq,aq,Hh,Og,Oh,eb,Dr,Sq,aq,fb,Dr,Sq,aq,Fb,Tj,es,Dr,Mk,Mk,Qk,lo,Pr,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs,bs];var Xa=[Gr,qh,hk,$g,Wg,Gr,Gr,Gr];var Ya=[js,Sr,zj,Fo];var Za=[Pq,Nm,Ml,Pq];var _a=[Or,Hm,wi,lc,Km,Zp,gr,Aq,Aq,Zb,yp,Aq,ii,mg,Jh,om,Wk,Sk,wl,hm,Ne,Rp,gr,aj,yf,Sn,Vm,Lf,In,Um,Jf,Kn,Vm,wh,yf,Sn,Vm,Lf,In,Um,Jf,Kn,Vm,wh,cj,Rp,gr,En,hh,Sn,Rm,Fh,In,Om,Dh,Kn,Rm,Wj,hh,Sn,Rm,Fh,In,Om,Dh,Kn,Rm,Wj,Rp,gr,Tn,mh,Sn,Rm,Lh,In,Om,Ih,Kn,Rm,ck,mh,Sn,Rm,Lh,In,Om,Ih,Kn,Rm,ck,pp,Xg,gr,gr,Ro,Qo,Oo,tp,mj,pj,Xb,lg,wg,og,tp,mj,pj,Xb,tp,mj,pj,Xb,Nh,zn,Aj,Nh,Or,Or,Or,Or,Or,Or,Or,Or,Or,Or,Or];var $a=[pr,jn,em,pr];return{_emscripten_bind_Decoder_GetAttributeFloat_3:Ko,_emscripten_bind_PointAttribute_normalized_0:$q,_bitshift64Lshr:So,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:ko,_emscripten_bind_Status_code_0:Ar,_emscripten_bind_PointAttribute_size_0:nr,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Wr,_sbrk:Dm,_memcpy:Gh,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Tr,_emscripten_bind_Decoder_GetAttributeIdByName_2:zp,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Wr,___udivmoddi4:Dd,_emscripten_bind_Status_ok_0:rr,_emscripten_bind_Mesh_num_faces_0:nq,_emscripten_get_global_libc:as,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:To,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:Wr,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Ip,___cxa_can_catch:tn,_free:Db,_emscripten_bind_GeometryAttribute___destroy___0:Tq,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Tr,_emscripten_bind_PointAttribute_byte_stride_0:hr,_emscripten_bind_Metadata_Metadata_0:Xm,_emscripten_bind_PointCloud_num_attributes_0:xq,_emscripten_bind_Decoder_Decoder_0:Zq,_emscripten_bind_MetadataQuerier_GetStringEntry_2:lp,_emscripten_bind_MetadataQuerier_GetIntEntry_2:wp,___divdi3:kl,_emscripten_bind_Decoder___destroy___0:il,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Mr,_emscripten_bind_MetadataQuerier_HasStringEntry_2:jp,_emscripten_bind_AttributeTransformData___destroy___0:Vn,_emscripten_bind_PointAttribute_num_components_0:fr,___cxa_is_pointer_type:Sp,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Cp,_llvm_cttz_i32:xn,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Kp,_emscripten_bind_DracoInt32Array___destroy___0:yn,_emscripten_bind_Mesh_num_points_0:sr,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Hp,_emscripten_bind_Mesh_Mesh_0:_q,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:Nq,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Eo,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:kp,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:mp,_emscripten_bind_Mesh_num_attributes_0:xq,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Sq,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Kp,_llvm_bswap_i32:Lq,_emscripten_bind_Decoder_GetAttributeMetadata_2:sp,_emscripten_bind_PointAttribute_unique_id_0:kr,_emscripten_enum_draco_StatusCode_IO_ERROR:Rr,_emscripten_bind_MetadataQuerier_HasIntEntry_2:vp,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:cp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Fr,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:pq,_bitshift64Ashr:zo,_emscripten_bind_DracoInt32Array_size_0:Hq,_emscripten_bind_Decoder_SkipAttributeTransform_1:Gp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Kr,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:ro,_emscripten_enum_draco_StatusCode_ERROR:Tr,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Sq,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Jr,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Mr,_emscripten_bind_VoidPtr___destroy___0:Tq,_memset:_j,_emscripten_bind_PointAttribute_attribute_type_0:cr,_emscripten_bind_MetadataQuerier___destroy___0:Tq,_emscripten_bind_DecoderBuffer___destroy___0:Yp,_emscripten_bind_Decoder_GetAttribute_2:Op,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Kr,_i64Subtract:Wo,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:oq,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Nr,_emscripten_bind_DracoFloat32Array___destroy___0:yn,_emscripten_bind_PointCloud_num_points_0:sr,_emscripten_bind_PointCloud___destroy___0:Kp,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:_p,___muldsi3:an,_emscripten_bind_Decoder_GetFaceFromMesh_3:_o,_emscripten_bind_PointAttribute_data_type_0:lr,_emscripten_bind_DracoFloat32Array_size_0:Hq,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:op,_malloc:db,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Xq,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:Tr,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Kr,_emscripten_bind_PointCloud_PointCloud_0:Dq,_emscripten_bind_Status_error_msg_0:gp,_emscripten_bind_Mesh___destroy___0:Kp,_emscripten_bind_Metadata___destroy___0:cq,_emscripten_bind_Status___destroy___0:fp,___udivdi3:Bq,_emscripten_bind_PointAttribute_byte_offset_0:ir,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Pn,_emscripten_bind_AttributeQuantizationTransform_range_0:Rq,_bitshift64Shl:No,_emscripten_bind_Decoder_GetAttributeId_2:bp,_emscripten_enum_draco_StatusCode_OK:Wr,_emscripten_bind_AttributeTransformData_transform_type_0:Ar,_emscripten_bind_DecoderBuffer_Init_2:Xp,___muldi3:io,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Dp,___uremdi3:Zn,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:oq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Ir,_i64Add:Fp,_emscripten_bind_Decoder_DecodeBufferToMesh_2:ip,_emscripten_bind_DracoFloat32Array_GetValue_1:$p,_memmove:mn,_emscripten_bind_PointAttribute_PointAttribute_0:jq,_emscripten_bind_Decoder_GetMetadata_1:dq,_emscripten_bind_DracoInt32Array_GetValue_1:qq,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:op,_emscripten_bind_PointAttribute___destroy___0:tk,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Hr,runPostSets:Vo,_emscripten_replace_memory:Qa,stackAlloc:kq,stackSave:gs,stackRestore:Zr,establishStackSpace:or,setTempRet0:$r,getTempRet0:fs,setThrew:Uq,stackAlloc:kq,stackSave:gs,stackRestore:Zr,establishStackSpace:or,setThrew:Uq,setTempRet0:$r,getTempRet0:fs,dynCall_iiii:Wp,dynCall_viiiii:hp,dynCall_vi:tr,dynCall_vii:Yq,dynCall_iiiiiii:yo,dynCall_ii:jr,dynCall_viii:iq,dynCall_v:Qr,dynCall_viiiiii:Io,dynCall_iii:Kq,dynCall_viiii:Lp}}) +var Na=[Er,dp,am,om,Ao,lj,Bo,Cg,ed,Mm,rj,Mj,zl,vj,vl,Kh,km,zm,Vn,lk,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er];var Oa=[gr,Yj,Vh,gr];var Pa=[ms,is,bs,In,tn,Xl,Il,Il,ck,yq,Vi,_p,hn,Um,nn,Vm,Vm,Vm,Vm,Ok,Fk,tl,cl,Vl,Fl,hm,Wl,is,bs,Vm,Vm,Kk,Ek,ml,Zk,Ol,Bl,cm,Pl,is,bs,Um,is,bs,bs,is,bs,bs,bs,Zl,Kl,Rm,xm,Pn,An,so,ho,is,bs,bs,bs,Sl,Hl,Lm,sm,Ln,un,jo,co,is,bs,is,bs,bs,bs,bm,Rl,_m,Gm,_n,Gn,yo,qo,is,bs,bs,bs,_l,Ll,Sm,ym,Qn,Bn,to,io,is,bs,$l,Ql,Bk,xk,bk,Xj,Ae,Yo,bl,Uk,eo,Rn,Xm,kn,cn,lo,$n,an,fl,Yk,be,Fo,jf,Ko,xk,is,bs,xk,xk,xk,yl,ol,ob,lh,kr,is,Br,is,is,Br,is,Br,ro,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms,ms];var Qa=[Zr,kl,Qg,sl,Kc,Zr,Zr,Zr];var Ra=[xq,se,kc,Zb,qb,Fe,kf,jn,lc,_b,ib,Ce,df,jn,kk,rf,nd,Cb,vh,ci,Bc,xf,md,zb,nh,Yh,zc,ok,vf,td,Eb,Ah,gi,Dc,Ff,sd,Ab,wh,di,Cc,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq,xq];var Sa=[hs,Gr,Ir,nq,rr,Ir,wf,kq,Yq,js,js,Ir,js,Ir,Ir,Am,Gr,Am,Qo,Am,$q,tm,Ir,$o,tm,Ir,bp,dl,Ir,rr,Ir,Am,Gr,Am,Qo,Am,$q,tm,Ir,$o,tm,Ir,bp,dl,Ir,rr,Gr,Gr,$q,js,Yq,Ir,js,Ir,$q,Ir,um,Gr,um,Qo,um,$q,qm,Ir,$o,qm,Ir,bp,_k,Ir,rr,Ir,um,Gr,um,Qo,um,$q,qm,Ir,$o,qm,Ir,bp,_k,Ir,rr,js,Yq,Ir,js,Ir,Gr,Ir,um,Gr,um,Qo,um,$q,qm,Ir,$o,qm,Ir,bp,_k,Ir,rr,Ir,um,Gr,um,Qo,um,$q,qm,Ir,$o,qm,Ir,bp,_k,Ir,rr,wg,Ir,Ir,No,We,Ml,Ir,js,ch,rp,zp,up,db,Ir,Yq,gq,Gh,Ng,Ph,bb,Ir,Yq,gq,cb,Ir,Yq,gq,Bb,Wj,js,Ir,Lk,Lk,Qk,oo,Ur,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs,hs];var Ta=[Lr,il,Qb,Tb,Qb,Tb,Qb,Tb,rh,gk,Zg,Ug,Lr,Lr,Lr,Lr];var Ua=[os,Xr,xj,Jo];var Va=[Vq,Pm,Nl,Vq];var Wa=[Tr,Hm,wi,ic,Km,dq,mr,Gq,Gq,Wb,Dp,Gq,ii,Mf,Jh,pm,Wk,Tk,jm,Je,Xp,mr,_i,uf,Wn,Zm,Lf,Mn,Ym,Gf,On,Wm,ih,Fn,uf,Wn,Zm,Lf,Mn,Ym,Gf,On,Wm,ih,Fn,bj,Xp,mr,Jn,eh,Wn,Tm,Eh,Mn,Qm,Ch,On,Nm,Kj,Fn,eh,Wn,Tm,Eh,Mn,Qm,Ch,On,Nm,Kj,Fn,Xp,mr,Xn,jh,Wn,Tm,Lh,Mn,Qm,Hh,On,Nm,Qj,Fn,jh,Wn,Tm,Lh,Mn,Qm,Hh,On,Nm,Qj,Fn,tp,Vg,mr,mr,Vo,Uo,So,xp,kj,sj,Ub,jg,rg,lg,xp,kj,sj,Ub,xp,kj,sj,Ub,Oh,En,yj,Oh,Tr,Tr,Tr,Tr,Tr,Tr];var Xa=[ur,Ij,vi,on,gm,ur,ur,ur];return{_emscripten_bind_Decoder_GetAttributeFloat_3:Oo,_emscripten_bind_PointAttribute_normalized_0:fr,_bitshift64Lshr:Wo,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:po,_emscripten_bind_DecoderBuffer_Init_2:bq,_emscripten_bind_PointAttribute_size_0:xr,_bitshift64Ashr:Do,_sbrk:Dm,_memcpy:Fh,stackSave:ls,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Yr,_emscripten_bind_Decoder_GetAttributeIdByName_2:Ep,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:_r,___udivmoddi4:Bd,_emscripten_bind_Status_ok_0:wr,_emscripten_bind_Mesh_num_faces_0:rq,_emscripten_get_global_libc:fs,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Xo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:_r,runPostSets:Zo,_emscripten_bind_Decoder_GetEncodedGeometryType_1:Np,___cxa_can_catch:yn,_free:cc,_emscripten_bind_GeometryAttribute___destroy___0:Zq,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Yr,_emscripten_bind_PointAttribute_byte_stride_0:nr,_emscripten_bind_Metadata_Metadata_0:$m,_emscripten_bind_AttributeQuantizationTransform_min_value_1:Mp,_emscripten_bind_Decoder_Decoder_0:dr,_emscripten_bind_MetadataQuerier_GetStringEntry_2:pp,_emscripten_bind_MetadataQuerier_GetIntEntry_2:Bp,_emscripten_bind_Decoder___destroy___0:hl,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Qr,getTempRet0:ks,setThrew:_q,_emscripten_bind_MetadataQuerier_HasStringEntry_2:np,_emscripten_bind_AttributeTransformData___destroy___0:Zn,_emscripten_bind_PointAttribute_num_components_0:lr,___cxa_is_pointer_type:Yp,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:Hp,_llvm_cttz_i32:Cn,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Pp,stackAlloc:qq,_emscripten_bind_DracoInt32Array___destroy___0:Dn,_emscripten_bind_Mesh_num_points_0:xr,___divdi3:jl,_emscripten_bind_Mesh_Mesh_0:er,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:Tq,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:yp,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:Io,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:op,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:qp,_emscripten_bind_Mesh_num_attributes_0:Dq,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Yq,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Pp,_llvm_bswap_i32:Rq,_emscripten_bind_Decoder_GetAttributeMetadata_2:wp,_emscripten_bind_PointAttribute_unique_id_0:qr,establishStackSpace:tr,_emscripten_enum_draco_StatusCode_IO_ERROR:Wr,_emscripten_bind_MetadataQuerier_HasIntEntry_2:Ap,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:gp,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Kr,_emscripten_bind_PointCloud_num_attributes_0:Dq,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:vq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:_r,_emscripten_bind_DracoInt32Array_size_0:Nq,_emscripten_bind_Decoder_SkipAttributeTransform_1:Lp,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:Pr,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:vo,_emscripten_enum_draco_StatusCode_ERROR:Yr,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Yq,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Or,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Qr,_emscripten_bind_VoidPtr___destroy___0:Zq,_memset:_j,_emscripten_bind_PointAttribute_attribute_type_0:ir,_emscripten_bind_MetadataQuerier___destroy___0:Zq,_emscripten_bind_DracoInt32Array_GetValue_1:wq,_emscripten_bind_DecoderBuffer___destroy___0:cq,_emscripten_bind_Decoder_GetAttribute_2:Up,_emscripten_bind_PointCloud___destroy___0:Pp,_i64Subtract:_o,setTempRet0:es,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:uq,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:Sr,_emscripten_bind_DracoFloat32Array___destroy___0:Dn,_emscripten_bind_PointCloud_num_points_0:xr,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Pr,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:eq,___muldsi3:fn,_emscripten_bind_Decoder_GetFaceFromMesh_3:cp,_emscripten_bind_PointAttribute_data_type_0:rr,_emscripten_bind_DracoFloat32Array_size_0:Nq,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:sp,_malloc:$a,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:br,_emscripten_bind_PointAttribute_byte_offset_0:or,_emscripten_replace_memory:Ma,_memmove:rn,_emscripten_bind_PointCloud_PointCloud_0:Jq,_emscripten_bind_Status_error_msg_0:kp,_emscripten_bind_Mesh___destroy___0:Pp,_emscripten_bind_Metadata___destroy___0:iq,_emscripten_bind_Status___destroy___0:jp,___udivdi3:Hq,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:Yr,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Tn,_emscripten_bind_AttributeQuantizationTransform_range_0:Xq,_bitshift64Shl:Ro,_emscripten_bind_Decoder_GetAttributeId_2:fp,_emscripten_enum_draco_StatusCode_OK:_r,_emscripten_bind_AttributeTransformData_transform_type_0:Fr,_emscripten_bind_Status_code_0:Fr,___muldi3:mo,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:Ip,___uremdi3:bo,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:uq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Nr,_i64Add:Kp,_emscripten_bind_Decoder_DecodeBufferToMesh_2:mp,_emscripten_bind_DracoFloat32Array_GetValue_1:fq,_emscripten_bind_PointAttribute_PointAttribute_0:pq,_emscripten_bind_Decoder_GetMetadata_1:jq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Pr,stackRestore:cs,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:sp,_emscripten_bind_PointAttribute___destroy___0:sk,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Mr,stackAlloc:qq,stackSave:ls,stackRestore:cs,establishStackSpace:tr,setThrew:_q,setTempRet0:es,getTempRet0:ks,dynCall_iiii:aq,dynCall_viiiii:lp,dynCall_vi:yr,dynCall_vii:cr,dynCall_iiiiiii:Co,dynCall_ii:pr,dynCall_viii:oq,dynCall_v:Vr,dynCall_viiiiii:Mo,dynCall_iii:Qq,dynCall_viiii:Rp}}) // 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 _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];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_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_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];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_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];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_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];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;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(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"]();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;ir{R9?e*1HRl(k)w}n9vg#Y7v?ztz(UL2h`5$K=r#EV1y6QA(+ zf!zi#uJM8*4PES~pnM2kT(_6Oivzy2`@4e|x9r`C- zFQXF_icjblYyK_+=xzaYw{Jp_9k=GA;{vmB;x1LnU3gb`{Ke5-C&IgmmIZFnq}8t9 zsOzri-S^Vx_3^$#cTQdT9oOgA?Yd&m?i*%r*mGliBGB8`O?&byUcfv5JZ8_c*X1wr zFY0?=a`?!6P*dT_eTNS2J#y>5>-ODt_{htH#Hzh@-~67#^Lr0gU#_)}b|1Q8@1aA7 z=dV6;_`9mVuA04l{$)q@?Y(7|Z;#%-@8`V6F8pLX7W!a;-eJ`KAnZC{Y z&w8rg=Bk>a$-PI9?mIF+`_jGp4+afah3m`h$Byiqy>tJO`D1$z2G)!7d@sSt;hU*= zcHej3yzln;{f7@ZoHc+3azw#BhQj*%-j^KQ7v3H|(0IUV9(TX**n4zeL1ZgZy!e6F zz#?yNMoBFQY6+53t3~|J%|tz{*CxX$eyE3GT>USQMA?4}Z)&wT48thmpBi7)z)|_P zURPzcdQjJY<299y`Cm;^p3mwAf!;O*!}u7mP*rn!I^^Rj41?}n;jmd;8+Dp$s5?~A zs1N$2`p!OUHk)+-tJRu(Xn%PD{{T_g9v>g0qDDQOp0--m5>*R&>emCG^O^f!6*Qan zg?(TJRoMPk3R*c~17t)YI0_n#Ae;$;nV33jASyD9f+oXL6xD*7sA4EHYSidzsJ^O5 z6aca71^1AYe|Zn6A}{~yNpHb8_=O;~aow&6>MLvYhUgL2Adp%uFpV>i4W8Qm%%v z)=;fjlTzZNQ1215B&;QC)+V(m5zi#?jJm=9;S7D?CvcF|k|>I(gZ~nh1P}U8*QERp z?8LF2BWmGSDp^;L>gTOrAI0P0hK-vxS<|%6Pr^+!6VZZjT7y8bfZNPaDS`k#^Fk@!osxxhH6x2+t1^{t5L@ z#6P(ni+`H0eV9V`gcnw|)Jygsx@GpteK#MzW#5t6tM|?4^YcgczvS5bzN-!%-a9}0 z+~9xK7nZ-_@cu*HlCy^nAGvMs!TtYX-z~G-f_F479lidm4j;)69<=I?($?S9pEm5< z9mih!QXt%QX#f1|bArFD|6dCV_5pPicmU`A#>Lf=`wktuZT6NUdv88WXAj@DZ~n;3 z%O20}dHL=8W^dSi)2=2OH0-emIl@yKdR>^6U5BwvYaPr9P||I}eF;w-lZ6UD$Q~p4ls| z-TlHV>BYtcjomcAcmCMX*~4?-=e>>2g5R&(cl2emLexw5-n{Q9h3;!?s20K^&)$0Q z@Jsd{oISYzB{v73Y&^I6b5DmHYdPxeIczk#;^5(9x6rBoQNObKS%owuN%kDsd+6v( zVK3`fzGu&kyLP;A&(7KFchBy*F~9z%t9IXb9bHV096NNw;iL06Vf=&FHJ@Frwg(y* zd=SE(9sGU0?Jelddk@WGL2rIpaDTHt`_d!(_5~klY_HZ>0d!Dhp3JjX@7#Ue&OJAN z$LyZ(xM3$m-&U=|pel$~b{7zC*>`mQ$l;fBw=H;8ErU3yc}E47yEA!v%kG@ z!GaI2+c&@Wmc8?PXUm&y!S^+uzo1+R#J3*XduV?Df7mPMp~U~}ZTk<+-nsYSv3;}8 z4jyV|3qCJYNO9d3{B?aH9SRt}_1L~6`<=qM3E&Uiy7Lf{2v0oFxM)Gu13uby2s*ki zUe{Qt3JM^4(fLpHYpZov$XNEh>~9~x?Y?49e$CD+Z`^%-h40?iNRWg*`)<4a#(neK zg7aFqk$do2zbja~bkDEZd$hObZ)o(W6JwBta9t@%_IB$_^@W_($0d^Gn-AZ1`{6_T z4$VuTf1t6(v-|#|v$so|LyURUU+~&y53er<#t`VX1%Fomw^c;<)-jm9db{+6`naiC zY{TK3gOv+e;!0_7nBck3$&Vb_D`~09&G$4G@@J{jthd6!{f!}p&FLrMY;R!d@oNA~YMbnC%=(oeS^z3Rx}+l*?@3BFOkr21V2 zu7#G&6zHCvFPgn#_wF073_dUbNZ+LQ?0TQJ1%FZhSJlQGkbPqBeY{r;;Lf5yH_h$8 zy=0|Qy<^1wv3`BE{z_*S7VonL-}=J*`aQe;T`o7VVh?_(*VXJtYgsLn=<|F3uD7oh zSSkc})PAsWMHTE(bn9SY>2cWxw^(>GH{>_wxH3C$41T!R)2nlT`x{!a8iZwvmp z*Ai5SS>d`DUjKsYcYpi!v){J!#+x)M`rrUR)~dGg;xK!>b+Mkw(pIeUW!173pa%Kc zj0f`TuYTdR`Hi#J?Y!xlV2}td?DbiULX&m}tq(SCs8%+L9xq!N>_Tq~ zzSwJ@N2!zX^{wL24>kv|=zyq@xu5^5-ZRXsAflo;cE5mu`9e3f>_mwwW3>5VpkHY6 zKd*0IfFDm41v~)x&wGb+y}cde@0Cpt`f*$EN4+r?t8bx{E_@?J+B0;k;A5etF~+!h z=k+^p+;v6p{sF>OI4`Ctj0Zi<+J|DsT5joZrJo_64g?+NT+;^cEtguXDWu{g&P#cLn?kAHVSW zn_hUs4ZCmLv-8T*2!5zBam&k@xH@=nc0d0G-`AWfp6}F){lWJ)$GdNWH#L*))BfPi z&FSLNN>lzV-SRxWwOQ7$`hvGL$BGZ`WEQ6U+BLR6ct^K>75{^gGe7MZX^XV)RS=w0ZNNM}HChN%W`DA4gw^{xEuscY6DZ_?7WLMgJWAL-h6N z@1n0-$?uE5KmOkM4e{&Z2jctU`{PZU-xj|;emMSU{3G#?#{Vh)>G;3Le;9u*{(Srg z@n6J$8UI=QrTEX|$K$_=|1SP&{Ehe@DG7-D`_cICYG1AWQ2iUV_trOkwXsQmzuI^e z{r#8m=e^Ah7yNzg2kY-`>d%AC9}V9dy(fBi^uNL{g^z`wh&~>DEc$Tt!_i~m&qV({ z`h)26(PyGZqyHNHRrKZPFQY$;z8L*c^mz1|_|@^N;_r$7G5Y)HE%BSDy{=tG%!OaO2g@AACyx zd0+FL;g5$8M#bN+)&8OOVEz5|_ch(0A8O8grEzcb{ms8`d=LMApt=717w>(^zL&mq z{{!Jm-w?hfd~5i&@a^F{!uN#_g`Wub{Ydz(=zoTP8-6AHlkiW&KMVgL{O{o(hMyer z_9r7g`Onek_~gGupN{?{{LSdMqCW_KCHmFqli}dEeDK%Ny|F&HC)Nkwun)e*2ZP_f zD}GPBZ{Lr_KN0_A{Ga2WiGMc!RQy={<@kS=PsQ8&YOkxkwRT_a19Y?a^TW*#gg+5| zz46NC58I#d*MI4)nuULlCi}whM0Dc(MkhSKkp>4YXq?~3rw`<}-*G`B4U>e7j(dXO z{6_L>yGer!8p-SJHrlR-G`yghByV)3T03ic+2Z9`(*0t*sAW9)Q5Ccn({O9_qAcQz zJeW?>XloSY(bfJb&~s~R5L_J9a-jHS`z$&^n_(VZ90mG%g8SBiOkZZviyxhF0nzE#gVj`qR4lpNXpJ zI4^4IMbw9yBuN3F)~Tue`F!26JopyXuG;FwyG}E&bsBlliPBmpjJMNBq`E~zx{@{^ zdDb{UM*t+sLmEw+*GvXUUFD&a3a%0-z1r~8bev>ghoWMQ=1zs39GV2ILy{rXVYw3n zr`2m5TA#}r1&0dUE{E0=;f%gO6Z#}-z=^SX5gQ&1wXis--$kFqc&iT3(Qf7OTn67c z_7AF+Bhm1I)mR5l-6wJke%DaZa@+`k$LIwu>iY_@({MNBh;pGPnr}bQTo2`8O@RvX zCAty{*hKK90A0`jng8M!)K0*hkD*lf74oY3j_VNAOF9kUsm*23@tA!O?&4QycMRIq z)s=cDO40^pC;=Gx8<`ly7KzUTd$&;`VErpzT*y=J$u~rsI(IA2&L!qz>n_ zlC<_`b{tR^M|z_ihReRI7yC>E=U>5HzXW7KGDs9$PMC)7;P z-*4I^+RkUvGR7McV@Kikzv6xE(r8tZ{Or9FS4RUOvDq0HatFaYBI=;V7oG=l)Bmo^Mr~QGP;riBQ_@x6@@Wpj)GM-n=7!e{_IE zFY5bjK!w5z52@MIK(->34KgDK1xgE7*f(iRZ_Ui|NTt3O8)_y;r3)wOord0q~ z%#`y`9o_M4QeF{MXBGeKkvxch$eO-{Es$&{X$J9+}8Xt@!D-F2@ zT`KclR0e@&r8==B!Ri&)K=0VoJIU&jwW6Wz1IUfBb9Aoi7$Zz39(0{_euyYi6Dh^| zMJJOyu*OXZ(lygPQK5SpY1F5CzUz1 z6$4{<$7MlE;l?HLRxZs;;%!`Dq)U_JElQFO@#`R?=v%sjV$7`cUC^8Mt1h5(?xXE@ z)Yhw#3xjp8HOg;v4e~B^4TevTx4JgD+vc0y8eQu81#41)IFw%vH9S5&ZqXkx^~bs$ zHZQ?`^qr-cItu`it3RglB>Axl;@i(~sCyBYPf5@~E`+iRnp$*e>vCCu5xB>&fB*}p z3!riDXj%=rrXif}(o13?mb-=he0qH8C9$Vp0Yv10u!}600l~$9c*VU{OSIiANS>NL zF)d=AqoX7@rc!VY#FJ?(eQh6O(kZbc*b%g!nFfiR-1dcz zed)=C!Jf;4J?hie=!T1<8+51Ig8UcEb&0OjFW0o6jU*Jq2Y#%oGSBk9%8?b>bmEjJ zs*pZNsEjwT749A%(c7CaZ{r`i_mO-@nJlpBbsaVZfNObhjj(|KWA?7J1*jiYh@+C$ zq`u9!Grg7JA@Z5?JFp;$>ozpN9g;@YZ~$-3)TfyMv*N(+thh`yR@}J?l|hksBOP~` zTwukUiJbjH`+7C6MtNPa;;4opKBU+0FkGMKSkwtyL7o9>-CJ=qjnnQuRvfp<-W&18 z^59xSaf}TeGm4?#Q{1gPy`naUscRN7F+!LeHXKQa<{UQJ9kicZHg9Q#u*RI6+{44RGEQJk#q%ERSNf>K5VQ}ifs|s^IHn!ha6ZN5X4lHQ- zG&=ZjMzG4VXC2O_mJ?fa6n> z5y(($KTkqKDMnWxBR~*@4flDA&r^Ngq83D}fIn_u zJOS0|r29_JZuhrKCg3W@Z0{`zrIoI_A_(sJ z=1WmG6WKT_{ZX9NNmN8TPj!*flt&U$U1u$qtp_^maO%-}tGQ753>TE)3clsH^PE-a zOgSu06L_J94%WTXjJKyNr4?np)9JKz;Nf%~Zp`s?E&ty2kOE&>BGr`SKNB78j5!^N z^+r>gx?^Z=W2bf+-?1}m(EoNib_W5DG`>B_*2wq?WLca>Z9C10l8h-PvDg|owC_mQ zTVrZqgFzuL&_N+Bo;jn{sqvZA zx&hb<6VY#u$~83AK^ZnKf(ZdL%Q)Tum4aM z?E(e3E^*S{m97@l1Rxlpr_mky0i!vVMz>?PY~V0<2Yy{5(`O`gu9Sse9o>v(Ab28V z^F)Z-DH;$nSq7%-_Y|-wX1uKN7Yzp5Gc>2`2^S zh2lP%5GY9O*j(rk=VZXHcsu>%i)-vNBG&Rf%U19!aeX^t%^==xeWemb>W%0NYmBYN zB%M?+0h$R`hU`x;80vZPJ-Ub*<9i5JkH(Z8}A3msYy6RJ4hP ziiNHf=b>wL$zq2r)3s~p5BhX1%!aOA#RXm4=7O%B0g?Ph6hIz0I@c`LdhlA~uXJsL zj!u@kcD?CZY1!lH8mDWYj;`IHc+iH2unVZ${IA0U>4qKYeGg^RUEN#TnXQ(y-9f%> zlA|Wko=9ux-xUbjSUO?)w}$>D$kx@rPV-80N88gCg)**DoIzosg6oVo1p7ofebuD* z39@K1!1XZ|$WM$WZXfZB#B)ejQMbjNjS1XG-wFIJ2tBAH6W)-hBc%#2;~Tnhov;8D zogfa2M8j37b%HzV1WvTZ6&Avj61U>?V1(j8hOS;EU0qK%T%ww#s@hykS9`u(owjKJ ziF+j5nARRiS4vlJa=MzBsdTky1cgjj6VXOjN9o3NlXP_~UCkU_l(er-R|(Q3b+u;D zVyCbTafY3)!lo{&0nyTSbyKRsI$nV;SQcF*S|+%nD2mf6GKGz%HY;HYn-Sk2g{_(r zOug^8J)K95{BI5fMyp{8dlGK$SJ-AZ8sMu`*ex$?QrJQP1|;ecMO|}> zy4I_xo$f~viBDPd%Y~@3mW4#nN-eLbCE!j`x16Fz`$%B2hGHa>Xl|S7P$0T@$W5`X z3dOb<7{e4b2HkWk-k~a|R=d)+$RM`K1}W-b4if-)z|d`r(8C~gEgwSWX}G$^_cI!q zx|VS>b!~Ei-c@&F5M$~(=luA@R-+XJ)x4@g~a=&I{p z*LWP)m~fhDY?N$|#;&@?*Z^~l#e=A8T{4fXUe{QCMI(<(Pvb~9N7 zQr;V#^4q`^x^ndn~-ToP#RAle$VE)H7GG)|U^T;h>UIi*(U@eZ-HY=@WX@)%2E{ zVVd4|tzXl3yN5b0yEjo^q0aO{Iw;pS-rto4P$+pNEnCG4@X$`idX`eONIilx&a@L^hzI$t6 z?)&Mm2EFe4MwmhTutDzoW^WC~)6LErR9Iz@HE^0_xKQJX=9E(D=;IUV|Vy689+Ch2C{;s11#^l``Q zD2A6XHrv40_oc=E|o#N$;(Y!6BDmy1NK(Zh;ZGqZlSN35~FS)#Zd znPK4_%N@185Ouy})VeHmW}?6Z8h-G zogv&H*S2?t@FMi>)bqn2osz!oFhC}khgqrComqtMY;Ow(HgC`8?PDpCZ51hJ6Y*6C zL_bbPMEjX2DzZhxJ1p+;%wTM!sP-sdEsSj26y##@j&6reEwbGMR_r^ocyxQoPn=_I zvyo8l`9ha`XgSu^2=|&I(ECWXsf=lCUebr&ly2_xp}%89y?$~&w5CesH7|FBTjMYJ z&^9Hx(fiOV(~ToVxVt{IO-Y`Sn8p)!rTtXo8Hs6FTc;e;C|v2YBEtQaMIzj&c15_C zR_zmIEJI_&B_iCc_E3a7TFwYJs{Z*d!hK;7T^2;?xSZ|D!q2wp%JcNfl)jI2>v>v5 zdS);O==*Lsc+6rGV-}kjK7%mWEh{GEe1+MZ3R!SuDf3X!p5j_gNL~ zezQ6KTe?oaqTQAjXi@GqI-HpEBo~ralqOAP3CYx2sA88^Ix`^HJ>d+5E}5SKwP3fR z+yuMNbHQ$wE-2Vd;+EQ&;zG=O+QqfYxlbS0)}$G$VW^P*({<+euP1bP+?*eu8EEOt z&hQcsm~8JE5Xv^iSg*T`ELMjyMj*FH!-Lo!Rw@{NrxuU#%PJn$-I=ZKtl@?i*`{LX zz~qabH#@6hrL!&WVYMvFcIC9F`wS+CT+<8Uuu4j^)QfDbO{I2hDs}A=bB&#D;CpQm z_?9Ex6a*INmhbIC-p@oYuJZ4abj{Mi?^CR(qMMuPY8GXun~tPg7*8EZH|MSSBbsk! z;fFkT<`fkD_LK0bWmZ`9`+RxsGm3s+;5>H{sfOjIoS$CM=efVop|?N!y&#XU;<+38 zBg?3;%t@sOy1X)+btQK+EkZ5NokTlL<)=6dgy-O;JrrI#qPso_b~@ zv$SrxDeW{{5dF3wJPYKixhYPpG#eRp>Zh2LVqNN)hIETgEGeZr4XMU@qThaTb5>WD zMzffP>|eOUl#5SF8EG0)S*ZacPHNy2NlLM{m>M0Nl)_>RIx{>eg_#p0&Z$pB!Wc^? zrHFYtXwOPg%An}?m;aB5ek&T2C>mq=+Pz_xWk}k-C>$aDT^2es;qRiklM8=WzgjB% z{d{`8yy5Q~M|6hIg}>2>=fdBnW1ni_?_Xae{Ed66@V71M#RVRo1^A?gzqLSylrRf_ zE2gdZH}0$teJc=NByv}l&n#cS`&p71u`ZsOC2z4d~yH;VX7#J%Oc zy14g6XnYsuI8V+szNTP)sA;yrX?zmiot) zJf`<$9sjtB$8GmzTm0i{Vpcs?#((B4jQ_|zYZOC=r&?1*Qwx*YY4V@{`I}#v zZrQQz)%RW^@Du`XbFl<)AM)E+M1p++xP`z^B?0`}!6ERIO#o*J1f0T{QK95UB?N9O zVSET&QOjxw+{id`2wXMwhrl;bqc~KvI4sC1Lg0QuPK9{~g}}SXE2ka;w=i!J0=NEE zLf|aDEZ1c&$Xe+MfwQ*2t;87~0=G<(rB>pcrVzNbb;=>|C(VH$t0sWkLz4Vsu}PC+ zYHkUqtqUsddBvtuSno4rQGX0I&7p;R=V)wFEGrV825$zHMI zRaHefGd{L^EnFdvP5wu*6R_=+tkqP^K-O3d%%w$ah06q+JHf{_+wj@8oQlg3OU-G+ zy1O)v`fbT*lNIu8v&w2pZNo~QDC!STs%u|tqfOhvN|IMTwWJ6mI;nLqO{qdttnBvN z3AJ|x@7d8oGl1NY;pgvg7yaF;w85Pf*GhN$g8CfdLh=&_Zk?M4`_#&^e!ovi$mYRiP5gFclDzZPED{c< z+)l`h@TgMjiD@V30Ey#C+bn{OAXvz1FM1er;4X6FNca(!vYKE#+sHyY+SrbWw!$1< zggQ~|nxk&Ai(P{eGlK+LL)-E-VE){%x_3f>UT0yx)$DkVm0|GQG&~olQ}7)849~GK z9P7Zfe}-Fst8Ho6iKRYGIG;A-PAgS4Y*!*~h}ellz!^MhftuKkpmEh?gV_Wg+Io=o)-S8{ zz?CsDtqIOacFVz%X-fjO8lgsbg?UPfsD~aM1|+ZiTU`lMf(PB0aD|?^T0Q~0t7;z(=x}-@Zz6J6XytEWeoC z#zW+`-v&$`>$t`?_B0JZL#It{*{21$oie$dEakS&NK*-6Q4YpBfD7RYQNtk#Hx6&C5#s1By63aeIPmcq(|39E!Jn*f3sOigrRm$ZQW zk$fs5#I__95ohIda>l?5f7RJNw{x(0DKIwd@9iE; zB~Gs?t1 zDJ|=c%_iAOimwY7%gnTZoe1P=4usqpwX+&>Ne@8|A;k3zOsP}aIWI|GVJARvs18GE zCZq7vx$v_twGKn+i^9f`p>#Q|rLDf1z_NuME~~(gtlj%FF}&6!jvHQU`o|5gHT~m; z*B23QJdMNa)7#h+9A00yeCq1DbHnQ=JiH!v!)r#_8eUKJ53gaR>hPLJIq73aVp@Zf z&13fu=DsKXVd^X$UO$z)duH8?-ODGpyUz`;pV08S!o)qUu!OZTysiqXvJOgNRpNmj z%u6}DhSyJ(u9dQQ#)jA5x_t8Zt>=cu6Bu60-E1IRPrc#wnSy-r;q^aNW~$lZK*Q?`1I~8Pg%k;0;sL{J zR*-gQtF@lA99$Q-WY}o01V6X8oHN(j7r+gzwWEL=T5CrEH?+Qx=)!3nTA$v=p5V~> z+m=sNecQRAb=4&}rJ3t7H?+p2YG|GG53OOP>d=};`Q$qBT6^z~nYZpA%ym!v1N-!y zl{42*VjDy-VbrW97~Wuu3)aA^Hh=~^j^ zXKZNw@0L#<|J}Kvb=8iZ($HFryFeH#L+e4pcoq(=&&F<)vUWy>*5A2&a`v6)hSsNh zXf1cMfowhXhSp~a^2LYNud<9}&I%@LApdDQMuv2>cBW)sGN%1O6-vV81xk`J0;kM{ z{l^xCmKDgCE>#>6vV2{eDkn2tA2Z12<}m3mfO9O+(7JyCi+(vIrTOq2rkr6KbYwcZ7Fk z>$FhpymVcqBzvkobO3oH(4#`p;)S$T*4iEM;)S#pO%zgN%Cl#euzcMyg_H7e4t%5& zfnXeOKZDiGww+o|4mL$8K~8(X;dG?lzfT8e@aEvdJA(GVPQ?X9v|w=c{fekq7B2vv*@OP6JPLMVA&&D0z!xhLH=0|^AXE{zSw8xix0>b$}BY#BHDqS#c}sa zULsq@Efpvf!b~3bc zMcguA9lmxftzXMXsFEMA-2028%WbKcV{~^|2#27EJdxX6&%Vv#>j7XYKcTcB?PHeF z8wt^*x;2+h6$g|;GhR69@yix7I{i12bA%^hT>%pTU`a3b zHzxPmJ)rrUF!`F^aO^n;JCj<~s~~G8;qul1AgwtGmx-#O2E_et7sDvO$ClR64bzZV zA5TOG3P|Z}LE4^*f)HL_nXY&tP^bXvPX%~2v!iiWHuD|4Z>1~DL{cY3^ed=rKZgzX z+dra3pr-L`y(*`xrj4gZw&N#$0Sn{~_}*dh;052$NC$UYlUB7X30sm?TDN(GydhOR zjg?2Ei-mstvUIxr`;GNFt$rYU+D6jD*8)D*%kIBvW2#Ai<66DJE<8~lw{OGF8}wt+ z!-9US2l_dfCTbr{gPoJ09U{>U{~@cm#qQ(9hvPjT9_oIGqN;p&hir&GL}R!Xlb#O` z+lRNSMV2A;eCSP!nG%6I(evSv?uRf+<-=oWPit|qXmPUV!=v`$yjmnTz2`$bD}g#y zd^pwf;ho(N;n_k8$W-49s}>prY-hrL4Qyk9gOICxRCjH`L!-?VOUITCe!JH`A06#*Y%Y|09avA-icB19vg zc!wV46O@F>(`NfMERjrfYOO7RvxQ9{-;T7im>$>y3;`~pEu|w z>UY8S!j)8X7M9qS($&IBk8=8f)_66RP`sTazh&9X4QKc6!R;_~Ym3+*zn4clT#VYl zehhNmajOok{X= zF@?UJ(Q2*W{=jJ+*j$n?_G|yT00SVq0-#+5F*l~2BL7YPc`+LV`VUwb6YL=WQu(Tu zp*JM$GOICVf*caU0`>VkJi_|$sC^F~L-wo=`bsB0gBRSepn)NUU-~y5z>;fNu%LGM z6fM%N)z;_ME@+qmJgEaWQ@%QLmcsr_c zy|={GZ&a1*H+r?2bnTO%)$+%C!H}+f62RCR-QtxiYQ!CoJ5sC;6S*~dQK4LkusP+r z&0jZmmFp(ct>~?js2#<%Xq6|ST7OHb6>vAzUj`sApKSC;DHFU)VPFXFcn`PJau{MJ^l-`X1Bx3)^Zb*%JT$5MSbz;AUG4D?$q z##!r*z-%DTD5q18wny>{&6&kxkZ0aDG+Iy;pU#D{^7IBV&L0f81UAVbcmzc9c>f?JdItN?N^lO{z8v-)>up)igSJMsXr-dF@L-l zjIZ$cq-f_aGPh%6fG-v9)adH@vu<7p5bG^|H(uy>J57C34UJxT zlKl9n?l4n7;>xz^Zb52FTd+Ir?QVJ<DV(gAO7Yug7Djj2`pXNB#9v{`v`jeb8Uu=&$$q>*JCC z-d`W}*H8KDC;at6e|@9B-s7*2hyHtiebiq+<*%Rc*9ZOejsD6Q!jvd3pt-L-V*p{%(8L>D|XVWy24-E5*}EdY;sZ9p=E%DlF~)2u;rc&N&P zXTEL+mk&nZ3kf{-12a$zJOk9gV~+<9-neFph{WsCau-e_YyW@5=E=9Pt-o|US*DqJ zO|Fa!ADWltjvlz(A+K`5UofA4COYJ2*zDnU#Xl3K3T=AJ09E7$a5z53rjRw0s2|~T zXV9@u9g-Vz3|D89#bTJ75Ax6RxP|M(Tvu}aAlG$VKh0IA7(dE&v%J0H4_==^$6n5W zOOVG_RE&w5T_Ax>kGJy@Kq*JyRIluz##~VO&>~#UKD8pLoeHJI1m!8{^MlN}cbIY| z>YFy_V6hV^LFynmkblV17-|rZx)ocTu&;Thq9ir`4B0xC_K3riJ(P+k+zX=YQ|(XG zJ5BXS!%9Nt`lsm;JZHhGhGrfboaP0y=&UP3$F^~p%?}f_)(o&#r!+e}*iIW<#c7KE zYeJXEI^cT})(Lv5i?PTOyGiC6Q@m`IK`d6;5TI3bQd6DO0P1woO=`H=K~6d$1)6CJ zwy8Xu;s@Or_ZPkB*tV>0a}j=b{ix@i>nA4>s^Hp5HtKcT>2_xF)FmRUnFIgp)XZA` zN!QGisX-q!$+c29R3f<7rEA5OYjr=9swfrI`SH%w%Fo?-gr77AHj}QgpYBxAmDWfq zpIVRgJiVI9c~_bJZtyb)*L0xUR5+NnnSR@_q}b6;)zfz|wP8=Vi@{ypaKw#;8A1PQ zH|-x&RG(~7uQX|J^(4EHUl{CBwhM~jN=GGrHC3}U+OC3(ueN4c8rxxJVR4w5pOtUy zW-B>UJE68Yfob_9tHEDlHxLVO?SkD|z2vyfvZb8Pfg{A)b`rSANg3l54ep>Nl~g(@ z?$G3EZ+P*0sj1`Ie)~j(|IAoTjjK+aq=Nhi5T){NRP-V!M=Pr12~c^HhF*a(DQ2yrykP|< zw{{{f1~8jKiVDU+*;oN^%K^*;pMz-(fLjJIAoK!UmN9@`b)tw0A~pcy0amtBSCQL8 zpS6)9)Lbtca#sL01t*n>qJdi-d7bgK8GtbVG?q^0f@l~@Csd|@COmOgFbH;pcL*(| z30I46p_}AER@;f%jEOPa!rZ*X*tA3;I$|toMU}Q>vMdcvjA#1A_sUl2~K0?BdUOn5r(qyvHFm#49D6ov|8HpKa8wuFNHo##~M^wg;p9Kl1V@D^% z$ab^^Nm#6_z_dg@!;nyZF8{_Bn^?1cH+KWUVQ%sne*BmZ#NiLe0x%{4USPFtc4$V~$` zlUOttT1&j8Uf2J?qet%91ic%WN9s15L|_MO0JAs)A%#q!_{HJ!mxsztUh zNgh)&X{c=j@wk(&$E{RQzRlwN)1nA-X>tCMyG^kg_->avN}!Om!!tc{TR)5LPB)0q z@*kc5t>7GDU2LID&7DxSy2>MX1$!7BL%{Omw`JB9spu4kA&}=KC8?Rtp#6sCdJ{4T zj)j&Riek;In?T~QK;LBc!PQ(Il3wb3v@okD<$l(-ZEz^$hF#>!unV=Uj?JSxtzs+$ zwX#Ik84iHLI|8`?(X$1Jsq5_Esx*#&TOpu;wj)We>!Wyh7 zb*)D8c{$HEn`7mo?bR znNEW-_FJ^yZ8Lo#O3rMI#mq?MD>nW%L@n5_&g_{`WxLtCTn4Fa(NOd-qimQVLs$@p zf&)WjA6g$G6azKbkHoC*a{Z3LZDa&?<`pi%fzG1#-KH=MtpsgNL%2_^2K*@cs27+G zU4$%<+Oq?y-U}7rY}~ZBUf}5H0u3bNAPJN(`ztGar*b;z4ZmZP__bj(zz+HHTMUt9 zF93>OxL?C==k)q+*CVkEc{f#wG19~^*;7$YaDq;+oEWS0$_bPjRZi>>>V7#%l8;+x z-S63`5k6GNT+)FJdb6eoi5BL)Si!q|CTT>2Ti#@4?78h^%Y1Ay7rV;Kj-m0&%l7@& z=)OmJVWzzD($`X6Qg0RI#ombcDURDJ{M`o(5e!plO(eA`No_76sq$i-O5@I{v>N?D z#H7+1fB>i@W*~Ne=rLfXx-QM5%Jd+Rf}u9c63w#smsYq%ks0q~x0ymL<9k zyDRM!=O*yzN7!yS&9@iw5&HTGyxScE^bkcr;!&O7q3V@w^%%GhED*xKOP5nl<_!=6Zr9(Mr9g- zh$bQ@a7yNs%W46yfw?xA3Z#{hgL;MwuM3pp0zvqx!!n0%z^fs0S+_0pW$`!tEt^ST<3Tg$WJaf-_+9=EY@ zzIBa#Jg#X$Bb2SVo>QV`cNm99qDS`qF9H;b$N2{xIZ!^da5EW6i2+R5v6hl)tIgtZ z%{;`{BQgYwnPMCv9%uX+avGK5aq_VhDHHIf=q$kCe#|UhBVNLP_G9R*PE0tFZ1H-I z^G0CiN^s6%efT7TSRdlimchBY1?LzrffSl#j7^`Z2xqJkoI~T7UxHErYp#-k!8tY6 zNiC+->9{ZkXQ(h{4QZj3rnExkiw5V$%6^y+>Vk8z3(k=ft6y0i)eX*#S+LE*#4b2T zEW-uoxS4YUleOuzY{#@Pu)+qHR1ou{f^#ZX2Ip2-a4w#!2Ipcw&W>Gh&Q+$WR+@mJ zxLPhaXJHlmN{h?MGC)U1lxlEJBv5b;)Z(&~>U{dGZc4$&kQPi(G^X zHe-Q}MD|7I2t+{lOk;v$*$Q-)DV=E-5$9+)F$D`W=)yFTC+2LHfi5X;DDKNhePIYy zog#B8$d3Tw)wn{dT@7gu{gFA8iXwBk%9TJDm>wFLYZU;GIe>jA5u5<QrKLjr<8bKMCPUkMdr{OPhw$H>M3qMRop1Sz|~XS zJZ?8h@)iqTMs7WZ`QH{>@;+}MMP3PBe&)lU`LKC8jT0|{nA+Xu@ z9`joXUADgmt7Z{o<5*|weEc#=e#9UnI}!4kJ>i18fzx6&ddT$3LiJ*!xr~T0kwnI& zjOw-NegDaJ4TS?)I$y+EQAL8)MK)d3PJ=@mLkiZiY9^}?(10bA)Qn)lQm<$HXaURI zjk=|v&!sppAo3$VO&ayY*K9S8jrcr!xv>=HStRu%KKTSTEEko}r8p2#70-7a28L8; zcZ$Qu&!srnUJK_^9L}XUoJ(;ym*P+zNL6EFjB(4HjB+4#F2$iY4T4$yb14oW;Ym($ z__$3JbhK59(g;>}(+G%ezri&(KlP5SAb5?R6J8W^v@O$Q?nR` zK3{6KAco1no94-Svv-Y2yR!vKU9_AQiy&F9rA4r^j<7DK*Ia=Mk`10KP~glGc`fsB z;9LPc>YXd75il&~3St^4VsHcI3Sz~(W5QfYnS%^urg26RkV?oCu*c%`lK38C=&&6Cpjj4+@>Q^yWP)Xz^(ZtUcptpMG3V5+y-Dl5^t=R=>F;{TG zLoP_*Le7@RyI`&$COF(bSAaWE1jAX|=Ce?IbQ__yc^?H@6x|*;S0L5^E1F$X9G#gn zpvyxd^+gu1*Mn(l>Aa}w-*F0<%v=RcEjd?H7B&Y@h|wiH+ac)$hkbJHf+>Ja@JVlS z?!qYmsv>2I)?h9w21-S0O$C=Be)4`j=srH=CT_~#-4uY$;Py=cSf*-6Qvk|$@Vg0O zS_(c8*Z8DlKLsE|WZ_mn1zWbz#lai*%>d99<+$a6rVc$zJL|8Bxy2^{R+=25 z9Gz}k1G{UQ)UYE_vx&APCjc}OS81C7xWK38PN#i>sU0#k0e~u1x~wL0ltg)k(sKKP z|M8&Uzs-5{q~#XDf7pCL@L%Q2v|LTgWuVce_w=OYl2c%YlNqv8Ov{Z)GU-}+{Dj5Q za+fpszq*^2%WaZ;U@@Ond;vmMvsq}b&pK23tY)<3p;As-jj0x?3b~0Sx0ugbhB_Cd z5}MCilaFRj7LiQXPR%aL#X=kUcIsn|pm$xu;#9RZc2CYln+`RwcwR_tV+ZWN0w6GinF0Ut1+qUx-wkciZd~W zdtociTsYPxyhzh9;fzbb4XJUkGbt^ln`-GYe!ZE6Fj2WmfW%6tO>BNI1yVT8 z|G-7)x~au_GjCz7l7Vijn(Ab3vif|t?x$I&@0$u}Vsd+|+uHo7%VD%vGkU zN;mbS)|&}?a`ELKxwTPplq{vCUbv}3v|32jE0@wj;$3yUS>gC7*#g~VZmO*}yCALk z^=5t6Q0vW1^HkTH#c-FH4bH+0w+m*Mr|K6}E$OKaTyIu-s>YUGPqn+=%xk}n_f%&p zo~oSb0iLRScIT*IQU30hk(sC3w~Wkrs#-=Ssq!8wOjZy~Wc707mywm8s$WLtOn14A%;jL= zom(P`TSm6Raz92}Mh1hF%gDNFd6?%{da6ETIcOOfcr(ws$5VactH`>ZDx(DHqN=Al zEW}!Rs(#s9?EVxBvD^6+=S>dU!804v< z51u4X)mC12(^N+ERJDK%Juzef*{Gf>W7#w5sV?UNvVKqXGjAnLB`Tw`g#bK3ey3s{d+0?olkado0kHaeG6;oo+Hr+aV*<3Pe z7>88#BDQKlpjEGYpcVQQ4?6RU)l9NQ<_ix?%N|=iE!!{hWR;iHVq)$JwmvbpRXZ1$ zOKBr@MJ}^x_fuv=mF4BsNz-y*nom`Uk z1^t0n?><@J)ijj%Xl-q4s{>8oGbD3W;m)!y+;N^u(r#&D3I|t)$6|`2rPhwq*@B{g zDTG*bilQ#?+IFneb!Rn3>e)Ua@9fq#>N_XLLAvEXx8^#bOYXN}T5BHoa9R{PJ5M)0 z>wW{95kOFvcunI*Gm+CuL(WdfX%dc-RCpc(wF(urqRQ1Ep#2UCeS0#{Rwe9f&a~}v z*Gf0K35B+Bwn7!qj%sB01z^&PjgBugN+9#Q?K8iXh3uSZ{9>V0p^t_}Gc%4Q-5|zG zy>QPy3&Op4(v*^tuX$&LkjvbF5WF!$D4`F6ctV(`Pf71IFb zd}_BTS;D9S*tz$myUafSyv4T5T+yr+vT08Z7q1l=w9ij(83Wi=r}5ttNbTnIrV7CQ zsokc?ooOH7FZAa+e_11+bxwA=sof@>{hKZg)+e>$m^^D6>sJ#42>b$z%{}Kw16py&c^NBQ0b#ru zGsit^9E*UkJbXgswu{+7_gPJK1H$HXR5u_SB_P~&pEdgJ-+;`y&*cVWmbYMjS2ZB) z*Eq6vn&`NCT@47&EDQ)&);O{~8BUiE2oK(XtQ!z6*EseBgsbke4Mo67)qNKBcfNXEe%&`mz%X#$c z_!JN}9mK^Pw;GOH2*XguI7Lgpx{jOopvz^BLj%HY12XbbVu5xf;YDR`i%rGssA4`-8uZ8rPd-e*d8T!y{R zzNC$J;%O3t8+S)a4Q>^|>-ZTA<5yo1@ZXDfvRULWT%LdSa-Agk+yA!RChB7G-+96! z8hdL?+VS=W$%bI9{#g4%C~H^`he6CP$zv+aA1Ku_7hk*8YMZ6ZHprSJXhS{)+q>#3 zx2|}a?rO3|LP3)143|&wxPrJW+T4c8W{bq)vi5m!O{b9)o0?;6J@E|cSxbtVcA8)p zh#!4(w&nr$$r#uBb-cejUCkV9@@AY!Oo-(<_SP`q?s23tJxW9qZ#S1<1*C zy)IJ>n7i%kjZRR+yD~3r+OLE*$F8uhG84s0=wrOG z@u_%VaP#gY2Dj7O;>`<)l@3g-Vy4`q~xjFzEa?&Q9W`8#ITw~f} zsU645w|r69T>0=|V1mOI>kALzB>2;Jj5OtSVl3s8h;xyWEQl+Na&yh&lxfp8B zqRnf*{wm*U+lAl1jaSL_etS_@sqgYC3QO^n1Xo8v@|H(nS5Lu|>ADG5a z7hg-#f_hT8E1258(`IR-PSn{7wcnx{jzI-rFA0;V;6SeSmqSJJka}W8j`~kdRm`XV zm{g>wI1u-95|gN5CpfBVPYn1Y(2SlUtV$jpdq_z678DP=^qolBUubCV)DX>#-)2KL za(xUX6-no5qd5+JWW=&VtDUD`X&cijYcjCOpccYz=L)hSW9+Uh;UE@6HycW^&lHWO z<0yjI@|5v>bbyOM@rfcF&clG#eq`9;HkbrEoNMAyp(NurqwOU5P$>|3p#*FiERc{F zY)M~vYA4BG8e_G@Sav|S$AWn#0qHAFC5S;qg)D+y?M{oYH9XJQwnZwXcnQGQh>NeZ zfrh-+;Ie>@Q=0ST+(|3iR||{ax4l%stm*c5BS=;S+?h zaG5o&Hz3vn8hW8F;mMe5q0_7zFF_UcFvjYaKH916Bh6IR9MvR0@%A**CcF{^egy&` zu`4f}iZw26KnEBPcD(UP)g*P!-x&@TbZ7 z1qWtos9(CX&8yt!feV2?vc|o@EztJ|-E8%rBZeq!x~ajSpBJ>=A`sv~T{OEe2pVf& z6==&ki_XE##bJ&=EvqDe+aBOmCkZfJxAVSWHIqyUNd`2sFHnk?L+wk|D!d7nHmmTq zdnNeecFZ&mQWFQsP6wsRwmhS>SscbGsQDiyS!!6@-V>bJmTKYvu&GeEpB%8ATiHA@ zjpo|#4#l>S*w#(pifuiTHJs}~G9?_6ZKlzDu|AUf77fWtipISW6AM@!{7beTghK(1 zb3p;&I(1^>+i_`}hJ1_(J473O334ZBNmVNNji5>17ZSBTc*q?3rG?t}yV5aVp zW}GtDAfAsqXc`By$!Ns%kL`yS0hHMTFxSJg_K~)7FlHKB%qA8Jt6_?!(2pWK7Dg&o zWVfg4IoiC0BKEp^>Nei2nNhQ_uJf^re$~556EsR`e$B*^(@>=b5l4&MO4*rhrdh(3 z@+685PE=UKmx{KR!1XW=1R?N2Un1!f{Xy6Ubpy09gWjb=wJ#){*tzyd9A^p3+{R{Z zYqG&U%q&)N?uy05DKx;aV%;Ml0n$rjHBQoiO24L|NA~GDNB);(u|keu2l@Cl`ls#P ziBLzQ%le?@eCHTe1gsNqP7{aOmp`<>A7ASqtuAwv3LN)PBQojnuF?fcfw4$5%-IQy zGSX?hbBILhkuF0pFfCvwoDg{^QJ0-yrDcR*)o2j>;wyzucA7qcn(H0|>#5d*4o(V} zGT|^(Lx~(asW#jgLyIkFTa;zD^0oNSsR)z7RtE<0ja9{TYqZsw+e_s$xs-LtA*UqD z-}8YmU)TOp!#2Q?VzynC(f@>5S!5V*H{zhYI5J+VM7YB`)V5DV+QKt5Ptf})6Z)CK z>;$jbcayhlz)Ce_4e~j(f@82nA(rZ0RzG)n(0-^UCy~`0cAwCRsQnkX2a_nxo*we0 zYsoA`a7TV`{lH8pCrC`hUqJ&t;0;pkJ#XZpLF4UYiLDG?$0vhz+uOQSkWNa&BT4c{ z-j|E$e(?tY*Ujhaj!o5qkYnSMe3drN3ESTnYOnfr?%|OL81f6;!+T@7#2ekiTVuK@ zAWf1rrb|9%%CG6=uV$O8n|Os61}s(8fE@9YdeWo{HW8^YM=;i0Ha}=(hP_ZefzxlI zAkl92a<%ci3ARvbpGU4Q44)a!U@9|!sqMF%tH$_H0 z)}-n*m~viMkOho6ps!vh$*-D-xjl0=YA{zoLPJQyCMDfyDAfMn0Bbs`{Q&zE!TC;M zfq7GFvRlrHNMV>p?^a1BMPOZ3(g(Go9T9a7Kn;TruH3%5_EorxKn&4p_UcS+<8d}o zmg00Vf6~XmK!d@S_F_u1x=>uUW;>5Z+LH-C-R;Q)uF!%o4QHR@bLa$gEWH$?&aUtF zr~zQ`xx6y8O^nkc4@YVgX^)-JH(%YhFSZ@VZT!e5MJLb3WdixstNt#Cfi}AjdwlnU7_Wg3+LaV9AUjl;r zv17kzAT3!JNFPuKXrvPUQRiM~Is_n*zV_?Flo`w+2 z;G^PFB*{-m3L+H8aWggb!lTx9)}}8k+QGpECYsUHW5R?m7^=bC((xBcI;dAeUxty; zkDZ0_N3(Gaf8+c(rv-`iq_U)($uQ{uM6>?-gb!5GPHoVqrXtA#a#siZ*1UO~d6qsCycdtW8mjkz!gJZ$8>u;SK|p%s>X zRxdMP*IMl#k*gq5@@2+)>uqQsx%$GQhWltmjX<&~M{!C7*`y6bV0nC%)0@&T|kp9#={&+Dxq#=j79UAX4}p5+2F~+oW>u`CUkHvKiJ5Q&jhNE z#}J9oKx;znnHxe~Ow}LE8r8ZokYgCQJ8eAd>SFA+6Yt$X{Ag!Ne2zAoAig|x*LR3y z{Dk^*5~B9TEdJx$o4PBTq{Y(F;4GLZ71W&xn**YDd^_x4Al?>L?5L;^)Jr!j$k-j- zPDblt3=mvzf0)T;$(lZsH>2a5>}%VDK<320-da%vo*Jfgttdv!^ZnQ`rh}4OEHSAEx_wZ6-M}IVWzMhw~!q1-|))n1XC~Plk>UX{hA_oFsXz*Q+>i z7Y6H+zq%KB3Kd8bzjptCNF>4e1Y4txT9w-fgE*?!WSsdj(_yi_fkqq&4S|G9{!fWV zZbM93h=D>ewPHZ2p?+Y(vt7l2-x!2R2zVh6%@>VeDK+lnh_D;>=s;OEa3dHQMdRIg zJ9VO_I{J<}G%18GJ0QsuGg6bnc|IY**4~bFbk>h_7jem`+89C00w$Yh$CNzyH0V#o~4?;ay9qU`Y{ZRLxFkgUF|;!9y;EWkYCyt1XY4A@#J4n8Q< zSe?9__9LN@L(0ZAf#tDQWTU%PvE#~;RsGnost9XB73VzAfh760>Uhc#9aN>=2?h=I zz(j@`G$RGj8dxsKaz-(0RP`CFFBZF#rs~FeMSV8#k`mV>ft;<;=4kwQ?OyXMQ1GuQ z9gJEr5qu)~gw0+?e)du$DsUz@oYN6-!*|r~%IbxCDawkSA3Cr#Kp3H5T|P0c(~j0% zS*<9BbL2{B9A8rja3BKOxVEiJ4g<{*GP_vOS(slP$~of4Qujb}8qZxEZRA}Dx0wNx zUwcBMb-8#y^lB_sIB5YUi5Q$9b}{@|&aLD!^=GFs1IUCRKq`)d=}8-N?WftgEb&JT z6^vKm_Y=yRSMgY57{R-`$fd6hJxb^IhdMI0K_zT)}$tx#EcC5v}pkv zMv=->w8_wM1B)P(?NKp_Mr&eTCXhqt3IXM~aBSJCW_)FErMq>w7P}ef$KsXW)oAP* zARePDnlv#(i+AXjohc&E5TyVB|6AK9sY%=_RV#B?HZCl9I2eRcnS4$#B#6`l#E(11 zHxsB~*SG?wdTH5wijB(Acjrnigd}YcYT`@&mE^|6$$7}3R zNK1_Y-p$<3uwaT#=wt!+h8!Sx$4!o?mmE**J5(TcS{*SgLLU8=>W~wU*y5E(?6eSz zhF=1)9-}j^K1Qc2%2wg@0)QbHRRC@QMs4Cs`H=-ir|hJzff(%`H7Ktd-iVFnhF20r z5c$C9C|VYOBz_DUf-sJ1bymh)-fOu`<=Ux$CuO-Vln~cTOUIpAx-kF5dQc21lodI> z?5%yNx3$NEhE~%&@(2qeCDNTn-+&Y|lv3#$k6 zO2ASY%3#jFXOrs`oc|&UvLYNNIdKULV;5z~f7zcx;iW_R3w)dte;%L3a|>l#gx=74<9T^0ycTmZL- zk1bA%>t$OpxVa1rgiYbt{7rnFe8To0u|7u4mQyj{K=GOCfGk>>4<|N@d zk{XN0$%-dDDpjw35I(B8>Ph}poLtp&IdMRRq63Ty+=3D1_ZhLcV$$#<3k-`Y{4d_{ zNUpi#0c}DSU%ZRon(*5ce%)`Htr9+qoE+iP_=PaNYb5>-JSDUH?>YLI(KKCbdB!T>ZkR0XBQm5 zJ3UV?xPMxD{_(q5j;Xo2G`%}Z(+iHLo9{}WmS)HAW@YD=G^NDdX@}>#I$K!v{*!L~ zG~811%JoXOz|mjNdd|&kU%jQXiJA5wF`4u!M9 zu;YZL{x)>h>(xfu=d$T;n%$^hj;9;hnTlH8T97x*jqZ2dzAoG!S7z%^0My2m%f@t*E}IzdtluH&imWj!IjGnZ1#1VR_woH$${z+^t1u~SF*YAwimTzJOh*8h`1_{(J%46;2u(vy`{18& zYaLTVt)6v>1+zP$L1dNn!5)p8ltGSJd9AbvW?P8%2YAnLhg}#Z>#6O8Qva&nbsD_X zf>5a{@To=>8q*_Hx?>bX*yE={R$*9}i5wkQKtj|l@E^+pIAN}UMupu1|EVlMWWp6t zG^bnOr^^B~lq6p+F=??VO?l8a7XbnM+{-7=E()3&LpiuQJyJ zX!kQkTowK)Bo6IP*?1~Rf}03nX#5jTT#8P z*r%(-+~lWgv|v_O>@(G3gmlVA6-nsU_Pf<$WcQZE6yfO>`~R!OY?9Q&rWJtQVxO%R zqsN*-I!lT2YgJH(6Xn;d#fB5*H>$;k6XiFn#fB5*x2na46XnrrvEfAd?P{^Jn<&3f z1$8)4ez96?I8lD7T5LE`ez{s~I8lD3T5LE`ezjU`I8pvb}>bvRLerdn(` zQGT{sY&cOqRV_B0C_h&%Hk>FwUoAGADF3Be%oF9m$)>~+3p(Pvt7#Wn0@UMn$cK0P z&|=nE+-17-;p3KA!F&mmCNi*?p1F_W_vNw$nhRlCo}~?1*A!=y zEBnIBhXZ@yU@5e5Iqy@EM`6%Pn?hZK7RvO``1p@Urb5PKxkL*d!J)$FDRo!YZ}z z^N(syM#?{m%=I1H?yJc5@1GXgUWC4=*V7>0qtG{R&*$x9rF^5(iWi{a)Xej6T3_U7 zeNjQ{vYV$a+DlP*+pBkMdrd*&)IB%?x7~v$FJ(&c{hiZ8-bK;x^ls6 z$|N1`aczZ`ioD=)nfPKfy~+r=3ez#ylM>qD9#>Cev^hZ}1;sqH&9p|_C0T#_43PCS zNbOP_4HKtbj^^&nP}Qr5Q?|jULe;@-rZwJ|RQ<51YU88m%#V*o8bK^U(18OZi!qN> z`*6`5aWFJeE5oUG60K<1^W&#Q2ur_cgfoiEB$om;`;$>`4%;LI>Drb~8z(D-C@8V>hUPkKx;5;d2w1EUQ_3fi3>J-P_(O5c3>Xjcw39Pjpy zJx&K5M;vdQ7V0fM&?rdvq0^#A7m4SV{_v@hZfQQ%&R>1wiqXk6++pc)?}z*KBav&k z!*UX>$m)IY3{Y#xs9~gzE=8?D!-Zuc)*yF%q&}P!v4*uGV*R}`9&9iWF8g3WNM!Z+ z2vZ14kZ8aFV5Dk?3zGB6k)Xc$kCCb!PK?E>752a9w1~=*zWwNkAHgZ~!HS;wi;>W@ zlp_!J2h388RP~a6Pi5MrJ0+p2MFm@)w`>zjrJH_QsnF-eE^y69LfdePIG-Gfl+e3? z<4DzxK#e}|`zH?y%A6kgSj1;5{q50-vt;iU`q(33Z7Js(VwBKUBK;%Py@Wm;;z$=% zc+F|iQj1Wb^qfyG6&CT9N5a~0ia0kJij_|u&4fj>g za-?cU!+n3X!u`)KH}1XXH&Qni<#^|vj#SS8Eca#@ja173q%N#QICOhjJkjvg67J?m zATR1?7FjYQ)il6|@tyb1t{wMuK{AJQiNlNL4M0#*qP96pckKLgVLHB*wxix5tcI5*yeGbe&h;x95yv zZQ5?;WcIN66RY3vVY5X2r)5u@hTArWJsp)>yj|_vMgC8&bsYC7P3>2YuLc|EZCxoJB5s!=K}D zo1p|9;;{npSeX$a<40*lq;HO0ljU#t^PueOUWbdDj-`Q9oqKf*vefA_g^=aRku&EA zu(bZVGovNqNDj_&7=Yv0)Js(FCC?q9!`hybfb)?WP|4AEUE*l$BzRb5VJIA1^`Q)l zWv#O1f9iltic04N`reu*>?CGSU;5eSuIupS_6=jWOCcvVA8%ZUagaIRs`w~&v@~zTyb`2JoiHsz_*~C8OK>Ve#%f6u z#%lN?R<6Qb3CbS53d#eOA|_UdQ>w2Tv95HqG^uV45dai;k1$FWeynr4R4`b+T~P2} zP+~zRCLtEaN#T_1i)fZfkAdky{A*?nNFdr z4TU9FK=K$sNe2%Hh7$U<#&4+O@PD)l4$T+syGuLGPP_nwWTA^f22hLP8SN-+l%?XS z!y7OZOCZ=6BI^7+@UzedmbsUCZa(T37EYnBh*02IhzJ!TC>mlmLv4lj_IZ6}zt~&1 zD$s{Ry%Q0k)D?B4YvT9Ls2{(LQxbtFl&oLfmu1`)7Ih+Q4B~A47pLfh_;_ECMd#d zIRiv$VI4Cj5I*0+9P1B=q(&e3Uuzx2jqHxOfb8KwyOhrVnXE@d*_B zwoTG2o#-yRhB_@_weo58MjcQlMl!Hyyga3OMYp#&3IxgJTwCY|BO@T3Rk0xK>*z~$ zR^cNQ!vZi^R0|?Sk6NreaPy?1&4KSel9EGSClwKqSXsm>E$ipPPr!VxT#6+Z@8l6d zNYBOx1hOuc8utr#o)rfsJcq|PB<3555bYRyho{-_4}|LpK{xn;BQPNw^aDYn=t-Jb zIS-K=UeFV0iHP0a^Cbz3FWjd`2tokMqi3T7JRhV zKH_dzP=244UnvHU6^oCR`_GpLF0cUi6Qf~&u~IBQRxCVL9z0(j($j-HJ$Qon59db* z(&O#dg&wb6C|Av`T8hc%lQ*15&Of@GBE2eJ z#|jZ1PqetS@?v$g!p|WKe0ZYuCW6SVoJb#p@T{EZeI3x;qf(t>I8u0M3au6^_ZKVo zooGE+s-a@_>$GkvzzI#V;EK>?4#dM_#E2E3(-{z0aR#nz$q5t@fI+Slhc1-E^P@fX z`@jWefOM4P4lYsxNDMp09%4qUtt$dULUKnvB%a)Aco^oEBj+A49Ap{M)68fVm)1F3 zUIc-&I0zob!6WHgv_xA;jw!nL+y?YAU`?KXr?k)3tmqC!8W#YTa9NBKzr=_OzV;`A zIE=qgPMi{;vnMWv$XD^BZ;^vvBFb(fYsDnc8E$yFHMdTv(3(N zd*lr0?zkqwNAJm%N`j7WC#wiggdwG})`(?w&Yg~hi9B!3vQXAp>Z{bkKTgJ@!%p{s1JY@Eyu?5jl!9FI6HwxL380W%RWm7+zlKm@>a+$iHV_$Jm- z118m4N_cw3Z0w{TngN5v#;(wksF4Ll z9?H~lJXN1S1NAQz?j!npUrn${!F>xE0@2lEA-jk-6SGl;!gm3E6srSa$}rlLS6fo> z-x37_cuI_*Gq7Nvb!&#jcLd<*>j44Z3*RT1K7cACgAZQUV`9)QzEZx{5s_(FlTx%;w~yYeF*JH8~e}p}l}zgzZ1A z+zjnTg`RI<(>H5vmYkO%`Q;xk(+9VUkc zZ6#4y9gH2Jk1a?Mk+>j562x3KD>5fVMFz>F8Y<8)NQ+INQFb_yX75d62R3`29mC*G z=wB$MW&~S?(90x!bRTe7x)0ScT!Gkrfs<{pzXu>YyzSB}%C-eLR&+Zb^+Xxa#6&(i z=jbV4pF#Zv!nR5@*Cec_h-I7t6rwz8!*Z9|*G_yE&YjU%nF~@VssoE2@E5kA(u33Y zqH--Vp9`nYp>=@)#e%5Wvh?GkZFGi=DOS2jC4T#ylnOJfi4sN;b6aSi(j$Qzc4nm7 zh?ULz>q41@&^$HWTlB4Rs?gU^&whh?YK7`?%35eMG(wx9>WKI7#>DP^4mA4EQ3l&T zXG`XYWcxnD9U-}U@M6ZOXgwOLAzXe2ri^TDb<-JDb*@+l!*o3KcUHWAhB9rZwk@aY zv~O#rSG@-9sXFpi9ys~P8D+fcif%V2+bM)5TlE=0x~K0w6DKQh3hRYU8b~HA027LEGJ5bm7rxJX_X>N9(dD|fcY{(n1Kq}GL&UQp}G+D;kTD! z!XtzkRFrV_^GtXOx+!^Mh6xV~gPHL9P+>6(DLAs-DKbA|i>!6ngA|;dkZGv5=*gos zFs7Hm8$iCcOQo(HN_zIhpW? zycT#n<~uXV4I~G698rHKVJAV~cW_#9dTExhfr#*6+I(lq-VF2IeyFsE;q-7KL_R!)UTQQ5ylm~L+=TgVuRe=&#@L(YJDV>OP&^2J zk}Gd;-b7Aes3p3xJgZ1m)CuFhQr0_!lxV+`_%O@Z7sW8FcQOj!62x=l={6f*603J$ zz4H%@8zYPP6u^BDYR!7L7<9GTfTsivX1VjEA&8iLq$QNule7)QBN_qOV7`ON>0RsY zGQNBq+()V?I(OG*y~nYqt$e+n0@+Z<<5=C;hig9A`}Jp1Bb!3Ky8sGOoVi1Clq)jBV(-J)F7k`z;4QN36+r)C>~>4^Dy7pb=3)L&Iry;K zLC(l9{kN8ziXZoXGif}2>~;-5NuIgwk#~K+tQjk+Eq@E3WAwMnxT49)u+c9!tIer4 zpIdD{S#4=5l}&8QmWaf~tTKY2;J_ng4Q2r-PP~bRraU+rs1KtQ>Xty=QVN0DE>I=l z6S$)fL>e4zVl^iEvg)LTctzm$-HguaOGj0W;xW)-hKRm^Ba$b2SVOo)dhm? z%W|72@Yi(#Bv-FN5Y{iR;cw~!rq#bd16sa49f7l3Mj3smSqya}jC2e&K`w zuKE6r)xh?dQWFkuO$XbmZoZ>qHB@z~L=57)rMhRCHuo;)Xfif7bQR3s?~kEx$ogq+ zaF3TgI==q$cVMAJCOQU#JTJ$PUViJP0=_%T1>M^FvINcD;`0$I5gE@yZ$6GjQ@4yZ z?cGu9t;hX0IWmi$Kgdgd!09EsZD-=TCuX?wTVKkS!h<3-D?BJN=ZlkMeoruqw9bUy z04VSGROh@*{WkWr=--NXxfAT@&hqZHJ|6{s__bM-Np(HM5>@w!BZ{7AaZNQ0n@Gvw z4RE51gdrFRi*|jdsqfTx!r&U@`Y0B+flx3Yd14s)u`7z99Jz1|{reNoABOr-jTzWM zrwlDa0T6;GHRza=bJf9n9*>x?8#t>o$xOV$oHFTx&c@XfdS%n=V6%B|cCG!m@U-sP zbC08AkWOG~=(@~i4m$^FK)|VIhP6}Arg1mCo~$6?asAFnwqx^ShRt?5>~iRBXEq5W zYBon+9xuBuPd>kX=R2BH*OM{tl1c8&INfYPnzJV)cNnNG$95jaXCRG)o{cN-N+h@H zmJqlb$t^#2KyEuHW}Hp2ev~bRM*?*fvK7=79Om{!R%m)!L&!a2sc$Nhs_Ztcj;WfNrGueM>ST#~Nz{?hR7=dG> z7Nx-L*r?U&cM*kc3iMGd9t%#8-(R@W2n)|Pg#G)^zvB5pSU()K5n0qBr@j_@7WnB& zjU6yY#i)hG?H&s2$U7*kNVK4^AhQ95W3M!y0c4u!iLOC?!P&ZJ&o8=;!P`XII1KPF z6!0+wT%39)O5C1$HjT#N^<)JBrR#SMO8j>Z?2hESnK1PM6Mpai@{7AE{LZ8#2-~70 zUAc5YM7ocDph^5)Orsx$&mVy4@p~*sd|>Ai#0+&MNWDivUT|2UcfnyK%K1HMhn`4Q znC?{j1NJob>{29%89LCMJ`N<>hOX9FD#z8r3-`68I5ws*ei;xX*_$z?VbT~&_S=W@jF<)n z<2eSDX^CE4s24K7$3jspbnIxBX4+5~@=P1br1TrR!h|$zD1q)yJQ2dw9gW4C1p`j8 zgSeHkZpJBd1K(!$6B&4>B=<(&wYUwa_2Ra>={`4?vryNS%7=GJMxTv$W+D;ZN!Nca z@h<4k8$@7r#0B%F4qs30*ev3L`7UAN49mzACXS5@noYZ_XVdPsp3N(Td1Fx4%q7gI z0I9{$1Z7+llh3AmUz;~YKaV`RGZM?Vw2pF{4 z4RkT;)RP)@gDy@QEOrScXWA^9C>gs2l?jH5fMWICG$L-~a$C~H%R;{~Kxg-R5}@9D zNP?MvqS<0<4Dpl6!u4{JwD{k4i#l#XxjtY5qYMz2$+$O%uNxgY7#%i9iZhH3W_WC2 zbhrfmJVTy0GK0I=M!Ullf8JV|pCl?1>bnz_E%9)Ms__IG!0}2c(p-_H^tjnuH-(utK~kso1zU98=kw5S68Bc!mH;ZLYFyX1je*G z_5#6o%T+sL_Tg61=#b!Gx{XR^Ed33Y2#)XHCAvRbTie=7up{v9*ig{qpkw_udRo8^ zfn~i|!|u~I*T7sWLFS2Ax!8uuoGwfl1E#xSFTHmtFIytaCM=iT(BME(`=3nlpoj7qjftC&LmrJiGna>{39A)* zL*tnpk;uADG~NmB>^6LaO^@#qHqBLvwst|-5khSauPM)i=Gq_Y!i|mbDFoWVyv^0h zGf&LKWdr$XbfM{Tu#pV<+wCLK=JI&conQwV_FUKqZ9aab(PnF1`pTfqjyH$wS^}VdKAv%VQ;4xa@b+JZuNJyi@eqZ5RomzH7G-Y7+vnh5oxEgxVZtO%=E~ zapNuIR=rI;J#pG5-X`;yA*s54nMwae;;>!pDgIR}zPr+e8FKC}cj39hjxDs@Srdg)KZ8bA*s&-`zTTIn9$Dj%O54$vBm#kN93z(aZ zS5DEIE~zb-JYDm|+pW~XZFPSJv5j`Rpy+JXe@)fnS9+?p(q*oWw1 zZCCzWP0*%7`?f~8*#upF?VC){IJH0g#zPi< zvs8>$#h2&c#NciP&`Le5StGrGmsFQWDPJp}08w-le1gIrWu~;ay=-9eM7ac(EFPcY zBrYkJ00C|Y6vc7g<%wJZ)Nq%AG$}|JVR;lorCqfxfQls;SoH)0D@vCzRJw%bsEOqn zk_ade=1>uriA1d|1D07K7EO!cIMslqRbV%Gi&O&~NSK#u!22LojlEk!(P(L?DI(AP z`gbsgt?NC!*^uB-Plnj<#3dujkS!v`CF|o1o)wE%G(izQ1fz=Ij7 z1(-+N@Mgy)8!AlfqFjlHU#SZbjCC3M<)B{*zZ@-wF>G?1$suxDu{69%(>mms1DAnf z4f9t)L_>V#MPU+QXqeIt7)7Wj#foAumK9-jg5DX^LzPQ+s)j@EQf)DPvqIGWx(I;6`jqicyW@Y`L&(i_U!1&Tow{)(QG zCgU*GD!5fM#$I2M^sXZmSzG-%Bp6-~f+epUUBgG<=NcE_yN3(!6myU8dix9qM@OpG zNHObUl)ZdIhKx>;hw+z0Lp}-a_h~D8ZH&!Uu$uRu)te$FNZGIW*L{{sYcv3~S$f?6 zWXEZ#Q?0*hiC|_RBlMN=j7G)v8rDh;Xkwuyr2HWQ+69F+zE*D!6o+&<$U~M6KVzrL zB0pIiuxM%J4VC4GxS{N6<|jhN9V}v~K#oSmZ$XxmXYAv~covA1IQ404Gq0nx5yp*A z>0?P)!O;PWE;yodx?3o&G2Wo)g(Ghk)an%rF`S#-9gKI1p4BT3#9Oks5SvY;pNNHb z8aK#vM+DnfP;GnE8xT!6F9tN;aR7OYKOcLCk(V9DE&w(_sxrV5@}(E{Atm(<$Vw&@ zGQ{w-0fvqR)!tA`_*?}kzkW(zrKgC6r#=x7?-k6gmTq$L%pG*TD5$?HsyP}cmBLD~ zKLTH63{LjK+BWPUBZimus^cB*1yq-T*VG8>1}_EdjL2uX0B%9stE4z$0nt|(8%Y*2 zH3o4uhF&9_2Y4Sb%Oiva%L)We3%vv-!CxbAMlMVfHGqj*@+yTn4S2i4w;~&a?^81+ z(dj7N0J>G>ljBoK_n8G^@WUUWCPh#4OS*<;X9rWAUGT8PP;wYq&H!qlu2KqGJ(WGg!bxoA<*v095_b1X9Up|q1UWAm_xJ`CDV!a zK7Q3iTdj&{>)`~^p2~rvE;!MK>415yTqvDFAlKpZcL!XP`$`0m|M~|AAka)Gnitmz zu#s)CUg|KT#0ek4|NP>c1&L5nfw~p*x@;8|a2|Ibq)+6dWJ*3V{e28c@dccc~J?wb}lW>2uWOKOss+uOM)iqsB%(dx`jrDTPZ|U zkhu^_CWXEzff2)4Ye(=|aEiQW>s1dTl~{x(O$mJ=*6X4O$6}{gm=O9*6I*a4Ds}(? zNYuY6^bv@wZhRj77z=%hrCiew3420wJ)EE)Fbg_ci=XOAQ|OZ@hEON6quBHk>J(hP zBpU+KoFZ?o46jFbxZcb&Cg<&UIq`rCcneejEEW59WBlY|uf)BBF6UiSbVe{T8!@zB zT1wH8td}SsmCo&1YM2@V%+CUEHJjIHHgidE$bIXYj)N*rywFhw43kXShY>pUotc!( z(351+Ee`0>vXk{aJoLGZQ+%lCoFpcy2|L$H6j?8>ExXL^r0BNC`3zOz`X0XpRETc+ zxFNIj6wRKg2x-J%FLj#}QXikvN7AO;O}JYYz}*PPiVqD_W7G_)%b-@gS+TjI7o{`1 z+Y|33x^;`?cx$3tVC^QlHEJVzuDXs;XR1M{oH3b@(EJD%%}kvVaRjW5(UI8#fD5_} zc!wumkn)nqm<%McOy47rMQHdMWdp15vew|2cv*4CL+a!S_G)mt;>Q@6p=Q-sHS@Rqi9t+nGv;# zc>-(tmghh5ZQ^ALh7bC~%Meo;KEJU;nCzDsm2*3YTZoL8VMYtQ%rt*sBJ;<(NVt(c z)EFfwZDVWW*(^&DiBl*_3~^eJE=~Y?>EdfnIaP~NU}aQVt(WLm9bF zu(hZmjB{79{*5tj)0SZY=%YM5Y0EI%%+|IH!cf*keQUNhVatfAAvf4E7AD!6**v7E zig3ZtOs1dB&z76KEJXhglE4Zd!>DMitGbhwB6%fo!MDS`d`%jo3bF#oU9##} zv@Y8xTA+Fe)zrgGT#8hmdbH>f`~wN(Ni2(kanj5ckinsIsbLB2N+!9~5*_#2bJ`5; zfFf`y**Z4R@dlR~x0%zk*hPJc3XLubsfNYtLP=e+V!zRB@!n-`7jn#aA}6xDrFiG@ zxfkQDu_>{bk~$};I@az$)d|)v7>Hg5ilqc^p>J4s1TxEvU?>_%xMxO~cm(sbvZ7ey z%m{&87!uE*>X8wVjv&WMeq+?F;*f6Ezh zpqcXZnPB!uu~VuN?e%=-zbDn3K9y8oR{g;5kf&RO1ClQ?Kl5#i7pRVX3ve%K7lq4U zX*q_-#$@@%R0S!R#WhHk@X|zA7MEX;jtMDEkkwfsHI-|J*UC9UJ$VxS9o zgC(`^=Z?z(FpP%>xp0S^P7P+LgESGlPRn#bR0s7!x&N9rI;bQzJlGP{Xd$<>ky0w# z7~^R55Pz@d?~!PHEm~k&2Pj|{H_9hV1=W*WSJmSN8wF0D*K(xoc4&}DiZ(%9E!T;b zH9h3g4k8_0Rm+v@g=Kt#=F|lQMMDXUhF*8-bz7!9pgo?hSa(f>GS%IV zd3e=##93x27Es-}lFbg3rnWdgDvQ0k-KX2p`Oyu?{|EJ8biN!F`}OO9UL87L-gx1B zag84E`$feKxAMrlRznm7No6V%Q@?MD~wMoU#TVt!pq`OQi=gWEnC309Q04i z7%&&%HTa2s1gKm5R2E(tZ}?eTQPB1>Y)M+d2ji*38c9+;o17w_)~;lP`yH!4WQ5zI z{>$@?`0eIM-sU5j&VRQHDej(a4rqJLT;8~T;{nak&^P=S#`(-Fk=X{N&a9w8sk1Fy zSL(3CXhRz$-?WgJnZCJIig8F*HOo#9)-Na>8F?$sfc7$N zlwzT}$2Lk~#S-YTs!6^^6Onp?UNWq<%1VYbQX8FwqlmCj7yVLRBewd6kIJMib5m)& z3b6ohb5RvZ29%9Lx2%(v;SG8bXinGIW!V=A4@$AUE3_AchASEvbRQsSB2r)SC7vde zyD78eOSKmgkzp#>Temt-Z4~ELN4m!6YHO%kl?)_v&xAEJnhL^xlDgo6H}FCX=@onQ zS)8}#UIE0w<}AMpK(ER9XsDj2nnq zP-094l25EG9nP7V6X255PTX7u3wdv{X@7%k(?bLu;TNQ2zk{MTY9ny61T38x z@@YU1bb^p-Y>C|NaKjpHEPEI^#N(6xogf{Y>1=$^;+~1A?>l#TelcMd8oI=4+O@=D zlHs!9AGAPcByIgrVzDLraZ`qK6aSQ}=gYmt-U~%ra+8T*E9c97#l8!~bG|7X>d~-V zKCeyF3pg{KNWK=i5_zp(@Z|x0X~G*Ht=UK14GYSzT6s*uj}`sLRKd!Hf)~hM2eJ0H z9xFQb^qTk-DY#fUKf2b1VExN}{~pypTtAO#dietDat}?^_xG_MyN6a94~7@YwG%P| z*?-9!P9*0aT~1*}lCzfwS$?9$1)N$N;cqrtW+5$~XuS#Av2r4P5QEaniQd-ratMVOGgn;XaBf4^Wz{pj<>DGT zcz%Sx2*0nrP%>c1R&lUMkqOt>U`7lau1lywrnQH}5?Bro!?YrZ$Pz5o>6}(fW@Ly< z>zu6}%P{6XRE7q^0-=zjm?MdyR5UXLgqceB`iW~r3K`M!nC^8K`fz!S@@nEw=rt@> zOm*YN)s`&Q)ZQBLg!9^YGrZ!rSnLm^#wekf6P)&H;!n8j*oY&Q37#pV$fzsAB%Q0` z`mV{upUO2qPWF4GTDZ9!|Pd0R@Q(iCX366n6Rl9NfZc?S$ZR0XL}aj$Ju+0@8-raCgKdd98#9LQcg0zIT#)q; zRHy~OoK*hYnnAr9@?`01HEmF&|qc`DE6)l8nxc_vSr*c5In<3!DB$>iCY zmC4i50HnKpltLX7(}aQX7bF&EF4xX z*&L$*Yf933K^0TyAs&e={WZ-a4$tp-h%3;i%VYU}{+-f|kGO8UHs2XuN);-c_+n`q za$~DgBLC)YJK7(brxmZkam&7Y7TX2V;Lh-NIp}wVUyc@QO=oy>!p9k&-3>XzbD7}` z-xo_~KORM9hBJI0%1ZCEX=iwbBt&*+cnB~gcvENizO3%Sb|4#lDP}V1+ys^1!Wn)u z>p^ga@5_^{ZU>cbx7*Q95dw;Ib{DmqzC2QBwHwOnlv*ykzw<`?qO4Q4_hy=9)c1Yw zZQ@bzi;7vvC;g(#Sg^HUltif5_&iI1dgPXX?fFGPMUd9&Z6)<2SOTC)H!Bf*!x?^$ zqpV%FbcSDaXL$VS)SqGXWTI`CAviPT6u-}w7@IH#=L1}@?gVEkImIsm_2?A8C}|;+ zwBQmG9Y;+H^T8C!DZc54WP(QK`!bze`!}6?N2Cr!l0cms6)A;+uh{l zCKB9@%V1F%>w(nRRgLDDEGJgkr)|HI-{|^gv^7`nRd=G#r#bVY`2PSDI^XaKq4oXp7;-$A*^~&Sd!vSk|V0IifiT zH-J_(QEzx{t#sMcGowCdAJl&EZBiW#ICa&5T92>iZ+mUpbb58vDytQ9jn&H916h0S zdrz;T?>&G!6lUZMHUnTVI*Spi6J5fzZ3wbT-16% zN(mdqsG8CE-eAT5PyocCRnf%7EAOShM_&3!Jnp4$veiyJ=K0dS^iBHP;g{~EFX?ng zUiy;HO4~tR3tsv-W$&bl!oFj}+Pw4+%=BzDp)!d3=Hfab?&JEksh2*&_FQpaQZ;hP zg!5wUrO&av;FfP*`m6PAz5fJ#GihFm2rR>-BwQYwq*U;Up7*w1^&m>4GrjbUI?VRc zw+*SSrP1wp=?kVaq*0SHp&wg$={NSJOd1Vd`bGoI7zG2hk)AGl?xnwqm;NAlHrfs% z;-myviId4IZ3hup%BTe_<-UYuuS1zgoa{uHjJl62GU_#a!L;ERzcX+BUa`!`G^>Zk z-uj$?6BxwOk-d7OjOml%Uc~^X?%MY&> z739z>Q9%zUM1{Bo-ROcVo=CC6D_Oz$AM9zmfl69%A!YsL<|xCbtoO)-?CbS$r-dajkijKH+&HyTHKx z{_&+(Wn#-fm!IJRhl8IHaDx}D#pwCpDF)O0Oa}zcgpv(@mPB?FD`fA+J^DF(Df@fV zv42n;Foq`n-1O)l#7ZDMNm0A-yGMU*r{9)G|3=64jUN3*vCM5Kk|(EF6OV%9`pzg; zWJF5RAVD3%Dq3;|AZohZ)+0S=*HnrJ%3+DOXB9{uvga#FtWsKdC6SKgyP9(7oZ zyqZz&7GQS8qyK*Mw{5SR!&SR>xN4W#@JqpZXg~8s)TSa;jLr(PP}Lc}2RGikA3Ko@ z|55c!qL3zN*~2fV2!8pm=JFJL+@)wavff^HW&A+U0XMMzciE(EhQeX0TEqW^^O};C z%T|#x-N2|de4H1+YsBxc6J{R2wriSHpP;aG#Svfl>lUr>LEoZ0wUEP0S#*n3t!Gv( zydPB+qqqIb;BL1~E#FF0VMfvl#i^Cf%4KV!v*A&)h6+qK$y>%g7zo9!4UJvC*s3hDHXI`A# zSoP0UpU*^yQu(E&f^(B~r*2BZTiiX3Z;4vQ*ID&mrqe?9$F6SY~{kgv_3OMdhrv7y5{&>1u zd>>$wb$>WVd5~4Pg7!e?fY5t!@%Sl2sIaO#jK0w5JMxIdb7Is@kLwTJOi#O~o7T+$ z;BYY?3t?~X#JWOj*+oIEK5?Cfrd(!}!$ILk#k8~|rNBv{}{QG~^pa0|dJcBRTpwM-T6#LF6>K!U-!q zGMf3@n?b;oeZXA|9(8*<;~Mq(+slpv#<3%@5@g+fTaiBgj&kXuJ+D1AA1`>aF#Hf6 zo;IfA{EMoqP(;JG5{7}H+5Wv~mQ)rT2bn4+{e_nXfsJ( zqs8GY=w#VG*$CJE2d-iPmzVy7^Q@(xP3Q)tyix#biS%6mfHSObejW3_P zjhFJY@Fw`Sun|4+5O`t(zwIH8SXhPiqbD9h0SA1B{;G)*MVr^R3s6b&nI}5&*KIj= zp7xK0+vNCr%5Hr1#3Q4A_}yoc-z^E_8(8?AX6armecL0lP&Z!17f(F$BW&k%E*7mh zFFBNTu~>}7Z!3E5mht@?2#!nWq=m8vmhziTu0H!<;c+*A&yT?0(u)s0R8sF-|L}(& z`HPSK;8%WwFjuf3eK?dW{DR1YUwD_pJh=fyTW^0y*|Kc)*d7c0GGb)E`oQmxjP5|L z#Q-lTq7~$m??qLBC%c|J`q&3s)vxgPrPU9AsHNk9hzdyAV%(-D7O6@-@gXnuzt*Mr z-eq{ILX@!e&^M{%+4R&ZqJ4`7AxWZ6OkI&VmDlw}XNP~3iWnp?&kn0b%NvK>!xCPg z?^@j^Fz}r*?weAJ(FUozDeWt=V9Us#u5Y_h-_nj9p?M(>`NNkxWYKC3`TpxChWw8D zj266APWr}OjCHW5HD{7x6jFluWoE0MY$jXV~mZDj#Zye&QuR{POY|*vVX@};fpgHcYYt2JlZU&Xj zc+9Cjp4o5%*~AzU4*CPwgS_{2z?!26BJRVVbl{6GcoR61n~OcdgoY5RBFN#ERefY$ zRU9%DJ2GCy0P_4TCQR`N7SS61M4G?F79_`>bQA*HGbD3nyaVKz5bwa)s`U|B;t5+v zFv+6p7I2ESPqV?+9wjg_kx0|1WzN&$1k`q4^z|ua#hfy!YhFQ~KP7%{=lj5&S~Ag; zis{0`b+ke59o4t}T2g(Gzdw~!pZ=urYhf5<&febt>;Cqm^;-e0O;9U+NbG%h8Jugcl#LUvz}MvgUB?SF)D; zLd;UnGz)t;_+-?^EULiE5Wrx?j6EsYN&`_z`-ON%EjlduvC!1d#-{T8uihwNE{NQk zz)F5y1Qfwx@idJ?>rIa1L9uwcTzLP9;!Q>S{SQd0vr<3{fwTHeYL;O1*RAT$f5RY6 zd?3AeJqI)O;&18~Z4jV;y6oufcZIiqTfb%ZS1ol<1R=Q$v@pU}2~H03is-44&Zv*@-o1l+7Qiccol#>>=?=p{SYvq&bc#p? zMjSlqNNn~$Ec@2!FPnM2mI33f2>J1=(bHq$EKr7aP(lk zn8K*ojGF(%CeN6s7E(})ZQ?))S(NQWRR6S`G}O8tu}0`Uy9$JCEOmkegiDze8q}-P zqf~s@O9N$<20V(g$PR&ucL7WsV@gCyrn_qYtHxMU06|Zw$;ZksJxKMy#>y|4FLzRi zG;h3Yq8>^ZC%)(s&oO%0D=cxR3=)XXHudNontCpVyo*OhjXW@Jk(NIWZy%`NW(E?+>o-5+SpUZQEwoX1{YZH6rpAlxtl@M; z@Gbr(NG9M}fh=-0tN&DWX?LAA2h?CqrX2) z?#4;pc1SdHC=y^ma#(xMH|0;i>`hW9VPW8XBI`X>G)cy?`oK9bt#NgJMQU)$snN(oUIhM&k6G~Dq?M)Z4$fuATy`{BU@O@% z3Q`I}NR;m=T=FXjm+u{E0ssV;m0hm;laqD3#STO>HY6+ACPMF)9lux_=2XY1#$7q> z0#(u7&@UWS(_P`0qd*b{ck_6-A2%c7ZguJ7TXjjT9~ACee#w`ltk($mPwZ+>9=O4Q zLwm=-IUBTHUgmel{c<}OnM`M)M%}Y#ceQ699{22K@5C)!2=6qj53TBR6xRqq&y!p} zuFkr3$S%?mKFL}ApJVw2NU{zY?(?&lJ}7mi?#b>h)Xz-Ty}OI)eMeq!i|LuIy7Zha zrgs)E)W!7lxM$m0ObVfXjo+`T*2(4ZXsj82e`{p@6IOX62{$8G=f9`2wcR@^sj*7Q z6A%)l3A1~*N&GPuB-(C^mwwcaNk6Jo=3Cnf5bu}R1rlcX*tjO6*n@UJg z{F0ch6crfi%~*vifg~P;amH3G2DipV?Z@NTZ$4=jpDKY_+YUX^FoWG>z6|(uBVtMlT1kxizwiT~m`}y4) z{s=74RW`IDgjUI~>#|iQ`C}ZU2)gOgX>Fpb9fapsDxh!CQE>&HVBn-&(O3A?Wcg!6 zK|-NGAF?{`D+$f@wSWMpI210#Tx_Tzv`lBvD=bV*a3J;`iQ9s?uLNi>@ z*Xy2T`Dt`4Yth;`&ES#ewPRx1DsB!4?UT%0Rf1kU8)n9p$s9ht8&M2 z2z}}BbmiNyhu*!il)@)4se?h61JJU*S+}yXjpA+{8$)0rFTs4g_NeyGC58a-rFJqg zI4_w`o4FRsvw$v9xl~l?r}V`hN>|oaSee~{+h6+*lqEeMA$ChikY$b#Ek*kk<-!>Z zW_0ZpW#^0;>_+(4EzwR}{)1pAVQ@`7q8ZuPWCAKWvIkB*&R$t8oKZ(rnvsGWiaO^v zm^Cm|6v@2{!I!Q^$#TjC-|_6C)fk2shP29F7?->9ZipN!h|VA2Yk#buyAum@-0AJ%P77= zu^P2MCY6`M_Rrs$(zqBYu{Q8*Gj>exO?w%>m-J}GgV zM@8Z26)wQ*uR8;ETr7HL(Y6VVO112;cG6Y@Wfr+O_ycvsYz9+;0Y6r9K&Iu56UHIQz_ zGrC3bj37m(lT`6ukRr@%Y(m>#9_i-3r&jzre zcL)qNzXG!nYT9gt+IFlYAH)6Y1L|*6Q~`PO{4cLG(lXKD=X|tf5}!AG{Qua8WY%-!oABf#7hl_-rF`yw!*hJW> z5W#-L&Km#SC&M@{i}+Mj*=t$Q@f2g(;#(Mj?AD>6XaoNvCj08m^_4{lU1!LgMg^y4 z6xU?Q`;i@Pc|6`oIrRy7LYpEcuE;Cvo}#5-Y?!(Mdk29+V6~EJm#3mo&>)jTu-CJZ z6)L71Y_3=piwfY;#sIC4^_?uA7H`$J${1jusvy@EWCKyt`&NQJA-)wuyj7mC8v}4) z7LA7&cN~D@mNF^!ywCAq$Q4<|oK{S_82+;IGyz!skQt+6KfV-LE3ihn^e}kXR$vW9 z*CT9qpQM{!(p)wz`?I=2jDnay*@p8wtXJTD3psB7*k*@byFb=I!PPk&KqC#(d}0WbDwqw6y$=)2D!*6`-ogou6=a~5hf#i(=v7LmiT*sy zA1VhQw*AH48DZ?-_7qlKsQb+b%h8qLncE(D*Y^u?If-zw%-U zZBDiM+-md5Y9;-KiA`}Pm28{27$B`})baov7`n75o!~eYs0&bBBv4pq5a?!t?2V>i0DZ z{LQd8Un@*Y;z}Q5uswQ&xw3OCd9?=2qPx9O6nY2&XUTEcT&KM<$qPEqV17c`sO7qy z{w=8Dpv>HD?Q1D;j&BN~3(-aO7+M84{mT{^U~KV(T_cvoM1jAm3t$P>cg)E|fxoT` zz_h)906cEuZ|VXxl;=MS5+zZNa61_w{+gy7!Kf#1Z=Jk7X6OBo2;3y{%eztIq@eLB zNQueh&9ta<1#6}%nqeeeW5dzJr+M^R98Z017%@S4X+uWTCC`XzGIB7EXb&{X$Ts~@ zS4%P02E8RAlMz+KIb=jVCLvlGQJF56O1cuIA@GROUea`}l&`x|Mm>QKg`HSsNBWia;M$}rG9wkwV{?l(43LJ7NdIcT}0fWh| zfZSy?foM@clXV&Th17t$EBtb_SSdM3X9%YrftLd!pMboIe8Qy}`6Lt!{wNt^X2TfZ zncxArvQVZy78SK*r&ST}Jf0~V=m3<(>XA9t(NYR4=bTCJdqiLaF z9Gnmy9q=TW#DtU^f?bp`*OOqg5A~!{3^Hky!miSY>0$9XB$pC-eVpi$#E`3&=n{urFazt$svH3pY+skCF|!k0 zij0N`9)#Cc*BjYD5Z&ZDlS{Y@=jzw|Jjxy(Iwg<7&-Dc{I@Wj$uQ^g#Q0F7t&z7XH z9s0O29%R8u(Q({n&YK`}q1u|vMNZMXu@EBdDO(bfj^cXkwI$zW$zO*|$`|lOB4I=Z zW_MHBlGfr&+kZxo=Rn`=NFH5Jbh!k8EQpERlPPWC<;;@TtrJ}~K&mpp5>-Kv4T&yI zUY6LpX`;)CTEgdo7q#dVCgL-vFhiot1qItsy0RE-<1no$=P5Fj+!_$cA_P^&;AAhR zLul~OtFFH_OHfvsWde#k5kdoihg3qvwU&Hl2;A!s8aiSOovsmX$;u+kxmR(0$$8GTg*N9W|XClIJGCFevI5vhZ0#rh$h8Uy@C5;+!MNl}^H5k<3n&2b`}Q zn88ywfj_)4QTIr%XNTtrRy2$h4gM!_bSk<>S67;BSN-5A|C3tt1?Oo8C-1-VQd+J|&4 zVE1+d&D<<}K4einNS1Xng!h?sX5VqOhK!0EZIUgvKE$q2xZ+$qGZ2PD>;hi+Kopf( z?-XkyPc^1X101nbfQ!*Os941GJpZ`|wAhyHyp@DDtVP0k9N#TOW!z{V!fsZ6G`lrXhX ziK&yU4Ls80=&iJ`Q5%7UA#)1Yx1QodacLf!z<`xo<@$bjKky2k#ImbJrcf6Kyft4k zYh}_Yl1X_=>^Lr&_^YHJ7X8BH05ZzSC|7v0?S@%y+$JI7W3vF$4-i{8HF>TvI!fw- zZN=7%2!Ra#w97;@p2nI<#wp1C0RGWc1K?aC!A>K+sX4Q*v@wH z7yB;h@9*+1>A#)aC2iy#V3!n$QS8K$`)EJZoIE&-tKYUaYKEcXMQ4PJqJ2^fH&e-d z#E-VhJAl2@+A(SL1(2cz<+nH&TQ=+ErcB0v1 zhvi92JDFq_2-}|AVtB5%J-Nl2U2l78d-QVh4qV;#+_h~_o7j|%g6VC~kau8W+taat z6|>E4Pb(j`J#7tTwSN-q36~2+J+kUpy`uz8rMc~yMNLK4zMzY!7Tflu>Zu(*KUP9* zySBr3sWr~o;rq6?OHsboH=|bT&8XF#ZAPuK(kC{f7Uyn8g@U#jg$=kZAMWM z?|hSpQy4XI z3oHX>$qX2lmS!r@d~{|hu>va4e7|9gLZ_B}+x#mPXnufwe6$ZU{y10sxa|ZSoe?B-0W*o0Y*^oFb4IL?SQfTDbwoxGLcQxk?YiKPVkQyU`>&@# zH;K?zBs4Hi(xAmVnM8IHXnqg^&1-)u1e%vc32U0$5q)fI-)uk7{07jfCPu~4W0@D{ z1e&i~ZNO>!f#zql85%PQO1n!MQ8Und-}k=gRR}asBJE;dn2``@{<^6^^8@*K=@e_& zAB)Wn>WMUgF23IBE*ZW>l7TQ+>Y%cA$+T%*kvG|P$?$_>9GDcr0k(vuH=b11mIp&J zi=sz=t#`@h>^#wmT=By0Zrml)rj;lu$quP@Tf1bAFvY-k$tF50cG}z}^I&zhR~S1R zthmIQKwPsuvpKtDbu)CFtxDe|Gq6Fs0?2^Qc-6?nsiELLrlHK*CEE`L+Gtp2s_R{{ z{gO{7%!M`$Jhdx!Yh_}E8Z6A&CBsz69;ok<=_10+#*sR_(_ON)FXUaa)l1wZv+wf! z;+rLp?2+Mqo2Gh;4US2>X}KqmbZxnp`Cq{*;n0e>>pmG{HrRIqe$L*3*?Exx*+sSd zy5g+b7fW8r#=){NNJ2V`LGJU;?MHq==NM%>*)79M1flkyGEkbxb4tE_5d4h} z6_MVNBnbxRB_{}XC=kmb8yJH-Ao7MAzAn_R3n3%xeKIi#XK-EOAB2xtV`L1DckZ0A z5N|i`lZ|T=S<}J~TTr2LM!eZRnbN#$+$w9*B8M@3mc!?LI;F#Gh_h_~d3Zj1LruCw zf9oAJAC7j^LTF|-bR<0%vv$-RuWJ};^c#27q-t+-N6m5>*Q;XVj#|Ac;*Q$#^S7fW z`E&(h%JM^g(xP15-p*QQ*3KH@r-$SfSLJ7o02Y#0!ipAG5>T{E;QKKoFAJF0>;VcN zK)zTgmR(~542;$b7S|qMTze3LrxzDeF^kJfHWt^6ki20>ZB6S5?{i;dwy{PgVq0Az z7R?>CdeaPK*s!D4omgGg&8Z!=S`G~;HhV{Hx|BAd8S?gb)UF2L!Xm|lZWe&+b4(zJ zCZz@}M0~pR09=1Iuc|EqaDDc&191I`4kKiy9_%y#7oUQh8v<}yK+SCj;QFr*wyLk3 z7k^7HZ;LO@H;5Ic_&N%|rI$~}P*n=yG!cGFZ-2agD=n4J6n;xDezJbi2*0HlAE{q7 z!f)xtI7Zmq@LSk9B|;;uTHF&4d_(?V-C?LQvFA^9+Ck@CT-fH7 z{1(nPE-aBqS7IMKx8nTq>@kW}55Hj@st&QY78QU=9YwdZ{Sc0u>kfel{XWNJkL<_; zA(^@GClc5}SHMPI20szcr}PO}VC)-5pXv~+iVd4a^eJXWK$jB)Z#W8K#a)KLeo`0D z1X>m(l@c2;7@pKfawnvfDq{dRB3bA0G|MIsWIKKcx8vPSyazkWVgOZt5 z72`-zj6B8>!8Y005H$pmD~oX?&x_p;WTY6t3eqq)kkJqQPnt%0!DWYmjJB-%*~z+} z*-1p4Eh~TTQFXk9I{sV*GTO3BpWLcTVr#n*$Y{%+T)fGFLwnC{AfqjN_VIDgwiA2h zfiJz}*elP&VtPuUX0Om!vpz9K2l$#0e!%^a8hKa0exJk za)gpXufy+H+ir0$J7Cr_%iH{bKJzQsjtAyHm>@l~aPW)W{d9{UJ!7QZW{{qrZN__W z1qH<2HUF|pt#OWj+0|GOie+S>)gUMqS?#ka1SLdNyBZ4u6KMYnE*6CLB(BDSxEc#0 z>~~geGB#B@E{Ojx5dsh)uEv6Bc)3Y;WvAw9EC@Ngp1I?>j0N#0JBkJICwRGCjRkSa zPHHzj%H3$^Cq-X)u^=Khx*7{Y-nn&*$*Zv-{Mh~rHWq|vllj2wn7urVwu%KI@)R`u z=PMS3)>?Hn7Q`1yEQmj`>|I;Mf)HNq&~r^nc#_H`%Xe;P?fXo;3Hv@*V?p3@%nsMp zSP)m!Ib2QWpezsB6;I~?&$@DZG44{c#a_%*p&5HIUtF;ufcPcuM7XciW$Z-EuV6bn z5nt@a_$^{VjOXoAjPdSzx0}ZJORaH^G5+ddZ>-HS6EXPGE5Lu=hXQ!`?DAZU3;h>;YE~dvC)G{(?H} z9ogj7!`>VV){dKB%BzRH$Jr6g7G9tAMTqzUJM6u|WWLp5?}o|z`8w>ab-7cM`PIYT z63@6NWL^J zhF{{ZhQp&uniuM^SY(Qk(;{HHBD2(K88|u1LxQ_0X!?w;csfODTTjawvcSgC+^^Hf zoHnC*{+}9+j|7KaK>uFwz_C(i(?a=MtIsEAss}o!R$EE_LCa*-v6QcIH~@hV@*D)V z1aX-%!>w~V*fK`yNNYsejKjhlyT;Xz-h_;ioGVt~c$E24$*juuO&RBq3l8}xn4Kyv zTkkJ>_mMr;P(mg+E^7M zRAtn2G)Z2P6gt*TQA(&D2mOZcCsLR5>5G#@3$5se>|DTrb#+8%<#lX{HuQi6ty8-{ zsbl5YDrvyl=O;79c6H_&G*S9Dp^#Fqf+%H1_&8vzG>f0-zX;n-fNgL1KJv2}I#u-I z9LI)--v`J^dZl6CO!zthjQr3ZOC4$|Sf26R!YR#MT>Ey;$sdR5@!c)u+5L6r+UN6d;6f zJ}X2PC6JH;j1u>b*j)u4puA3~kDf|i4We3t1A{_*f%RlD+KVUIda>3aV*le8%l&U5 z%Q@%8Rn}tIa8=0CeUv(19OxAL^NSDN%7e^faP&#Qu7Feupv5*rdJ1R@&|!F;@$iUB zru3czeK(jMUY=WG<|L)RPPij=7U8Dr5N4M8%M<>)l@{_J(wb>yL=$LIn-ttqEP3QUg$@OYdW{k6&lo!+MwEw z4ax-gv?aUCw2mM@ns58n{|ZQ;{Tgc4?bpGt$PW6iLUW%a?NfTzd2!MkLGfooqb`px=jRNWyWV|e5ccl(i2ft$ zsqWh^>%RT6?%OZxzWuW9t7MN9-rjRjDb{D#8zcWNOSR)!l*|%;UOB5NR?cHoU zy0xp<|NB;TtF{8Sz1yMC}H_K4PQWHMYl|k z!y#ekWMh*!$FH`^3^3$nqm&p(%6TMqZ)go)DLOnRuBM!Q+L}6+9-k}b5E*S@-g{3W z#45TUVcH3`A||c$adcpD_0TZ!0pap#Q0HhZa)s)p~{4phY?ArNGf3X>sWhlkkrWt=&O9U4ThY z-LGB}Gi7)_5qB)nS@IeWJjI`9GgeDv$_psK9kXOfh#OB7<;F$cw%$_(9aVoasW^q0 z5VOPsF~5xYAj6d;5`°<4|ne!1+xvlGuNk}g&lKWVBpC4~CXTQm|~d~VE>hFdvt zh03@fDk&C^RFX_(MdH+%6bLMMlpb}CKGRVXBEi=8vF6kG1pEhCDY$)}~H0*XpRT zZ0d0-LXm1{Yao*CQ>!IrRoR6J)F_RGTK&|gDwP5hMARcS0fy%iy1_o$eV+zPx0-`3 ztOI%e*AHm9qWOS`{7GI>rY}tf1uJlcN=9j3V;1%HOLeX69!nB%M|qh|%_(j2nFpdE z3K806TS!NOUZz@Q`3?UOzKx&pTU|tEe`z8pS=*Vl?T<2w3mY9f8B~#K^(hUsBd`W8 z{PQ`c$KqtRob>{nv_T_b2r8NoG&)j91432iouylp^O-W}A%xoF$tYauQ#tK3EK{JvRviATO zzR-HJUv2%;au8=}u|Vu<*{c7)HwkBRg{aggWpC6;Ju0F|w~!=8oj;c3Ogg&OqPoMu z9cn^x9YM|^RiGCz!E}*xbdN#{qT_pcX(G<3E!4L}&`{)d2_|&!DhEPw_L%tO4gy7L zkOV+gAWx-(bFjeWJOP>@J#pXhp7wXu}R|Cw&wwG@|@-SHuMk(RA$wdx##RIXIi ztRLzc*WXgDEtO?>U%g}$dcdt}$0y0~$s|o6V)V6jN2%jVNW+okXhk^7>4@dl zw++vr0W41gtR|vtLW~L6JCblIu#O?t5yU|7?p<`An+bRU^D(?gHo6UXbp$UEL$c}* zWHM4|H1ITybO5Oe%N&x5yx`bC8(Ku25#-Qve}QE_c)DgUe8h8sV!3dk0JKJyOhdxP z*fBk5>{14&Q7UVol;PcGC- zRJ1ccBd3h#^&&WoWOcidB)xB&>N;C;7Z&y4!b^eZOt<5e-<% zKBX8`sRaQIbYLNv9 zr>0K61AbauI<-*r?^qJOu1TU-OPGa$@h7;K!4)WlpCD=c2?mYTW9oRy?G9j1X@pNA zkqC*|oERq1rDbfQt!bNR3|IhraRCsp(~hJ<7cE%P&_A$T7PtGTR=qMJ#l__asiR;3 z?JZV=ySRjL|a&(SOEZ##Ie> zq-A7q7T8)w{HMlHSD-Pd4I~)m^Hb>1Hjwu?zhUUdnD7XOn+*)lrl(dBod}*0ti`E1 zhXE?7J{2}9X#7~?E&WkMDPRV?5ol1O^ZbttR<_MA=AO9)RcPxgd-HZbOLNPF;j5EH@4GWCtsLta`vBw3nEVkf(pJl$d9#RO=>OhksqdL66p6v% z#!Aj-7rC)nWL{H)W>fPD4V#5#H+HbuSYv1OKT0Kw!~v>ubDsbAH)+%|3-juefo?pR zhR`%X!STYRZzJtM&iIF3waFyXf@HR;*YW{oP+%rHE(U4as6Uv>IGR)shU+t}Q^P-_ z6GzjhTY(Gx0^0&MLsV#*)>drjX!?=(?NdAd_Ji@;5AXcj$Ktm?xbtt{W#0-`#vU*R zz#R;#E&+?3UZh$RWB_AhIf{h{WDj`rfg2x9zu6#I-`+iW`|1GSPb52r@5%7#$9MiI zA+y9JW0!9ZH4*A)hjV;m`10tiFWI6(NE!UgYW;P}JOi^s>WOV03}3QSy2CaH;Y-m` zq4{<((u^;fRtSsFo6M?`kcK}Ava4hHw~KHjT4lo@i_iXzKa)fN)g-B7o$y` z1wKenKVZ!y>1eZD(q$^ATF}q42p;@hkY;6<{qy@fo2s-T_;@zdj?=NVcN}z zY`uRj`4@LB0W#!SOsf)jwa@E9L>Pxg33$TYF`d9JTw2N>sI>=;+n}YP@>9@qzATDj zkRo%~sBI9Ei6}w{L!Vi21ua${nNi%XOX8CVA)Z7CxnYEzaZQdUollr{$MeT0zd7kU)BUa>NzjV9GcTG$7F{M*2-bZtFD7Qp_USt6ix5 z#olJoZuKC0%jhjKc5~(dJnUA#PX-PA4609YMTac*dPPeZRrj4pLq)is$QeY|e!%pp zmi~RFRWAETd9xg5+T;jYh~6O!?o3i}ebL$KTT<0Rul{!~)|7k)GHWVxmjlg_va5s| zv<)wf9}#@yYP_j-aqOsZ)D+5ApHR$fs`Jh*0x=M#m@}$B3ZmpMNngcf=_Tpccpa~1_L1C*1ZM zw{(Cp$c)Nfv9+8j;&8C0VlFfZ_klpuIJg zbh9;Xo2}^!Yg~H>j5QI_Vh;g8&-YNOu>f+^=sEo!G;T9lp;95Y_zA?q=sydt7iW>l zImv{KF&y)_n2G*?c2d+Eo)qFAK;##hDEew-J3RWO`Vmw-k`%GQc#~I8+Nw$m+{}bG z{1|=@X&SAfu-8)9lxW@Y|Ad*qsF+Oa+I3<(#SQ$vxV0hOjz{4uxy)T zFD}}rhu>|sN`A^x1&;)kV0)!@@*v#GhPOkrMQFTj;;#6ck!|@{1<_ed%kw=%AjoAf z**G=>5Ul@c1ob4{Z{A>G6Z8H+#oxwwLM~9`cQF#itbtVT63Y+(5W5(N376<#AhkP& zMd7mTbONZpvt@=WlQu^@HUVB$05&@BV3@a z-fi^6!g$xf@Sb3m9rr}*EgScPcf)UV!ONvCHauM9Z3#aQmZ?Y(lK@UYf+Q_Aog}N5 zxg!3@68taE>gnXu6Ju~`D@m8s(#t)pYZ&$VeHk)TqyTs;<0yX;J~ zuf(v;_L)hm;v;bAs@CJ^diB9es32+>HuM{tLr2YE=#y%Og>5zMz{+DNnCR*>sOS^K zP6Mr#Df{l^*5Bdl^%}n8@=bpE=Z3PisYf0{`0Uw|I3PJF&bQ1w5=9RLGf!s1jbnw2 z$;NR6FA2)FQL~RxWRkvG)mxM~j)^KtKFw=4+nyUyNF|w$tFEJWX8$+c9-< z(BXbDUQkLSBNisoVoRI1wzS2=A-c_VY$}|#NW31SJFySN_Ip4xFzPvdkdp!(7_T$q zM`lX5WR2Kqirja&lj;Fxo#I6`((F>@D$Xg2=26zuR5v41;gV zh9K{1{kge4lqrh6OqU1F7wP-YKU%cDto0?s?}f}1tHY6B zajAtPwf6=Tl%H-fr1lcFpdT9Fcx=vx)N$Dz6jUQ!@%atRrXq)#JVz>=)8RHT{jdArV+ zY8!g50I&i$_}XAWX%jTFMxo4W>Ukx-P|5l$SxM=gXC&pdM0d6Nb0Dv5Q<@(&Tz?}c zCen(rX9x|=#?9FiYXFl@v#TuZk}qh5s_#5QBUzB?FsT$NS*TI3ZEk>aupsO)i-PBL zptO@hY!C7PNzsT$jB1psi-5&6TO5$G;r$?lF$3xi7LsoQImUN)M|pX_En6-3yx8yf zP!~gx1HT@?;hPsWek41#tb$#5++qbT4&UJAO5D8+D+E9dpO`Y52e!F`4Fn4x2zn4{ zlZ)YvM7Ug*uZSp?EK}xWd3~V^B-PX0$epU}N*^tIUu8Ig!^P?0i>v|aun{wHN}kl!Nw=Rc_uHOC@{X9Suv}>}Xg9cAs+%il-Ws(t!Hf zXlqc|Yp~QXD8M^4s1^pDFa;oQ4Sg9ie>Ssi$`RDe9E(YI>sJ~0TyPEID>{PAPkH`k zGjWPE_wzroElS^NIGSF%Y52J}@Ct==;zJ6Y*(3A-uAtjcxPqD2Zj>aEZF9Ix8LwX!{YvoaArwWs>l*02|vH9;afjoT1-gEj+_ zN)VU!E~{Jtyp4jd#&C&2BhLatBc{qGo?D$K!;MZFLOj4LN8`<}n!8q)ZLzOfYk{oow zfPghx76i8tKnG3_|Et_7c=W#+cv7ZZ^js9PR7~a-k$EJMC^9EOWOj%lGVf^IL1gxi z5t(=Pv5U<9F(UKMJ`N(Y!2=_g+cdt{@^&tOxL6}P(d#r3{-bLPZR`+K#|{^erQFfm zs2%M2oC7lRl5#|h_DOT#1XryFXRpcd8BQ-S4RYnt$9_QTE*$9ERrg$}<#FUx^_nwf zo7Ga}Du%vkG|-Cn^5L^Bn@Fe^vqV*f*X~86bwmHqdi9V)TDn+s8LL2+96jKujV@A4 z+d>x@rSnxs5c)oC)do}V_9D;z5D1zVXd+3#TV9-iv+p6gKlHC%Cj)=$sTzj&1>K^>Kv@4+nG;ixIwBSY0t1C0Jca$ITpO$EkH$%GsWxqlh^TaukesjKcIzd|3;=_wWan7SOMX}wE+O)V4H9%;L3gG(y%qk0xQ$X%h%b5cVy zDJR;|u+eM$H??5QkPG)wx6&%R7gFk}&R0cv+b>SwQ&sQGy_GyW8KZZDkw~XuhOzjtq#R~dp5k#PWT zva*e25o84B9k{U%VLMEwDI>$TI`Z6%trnOingbYB*d8*q{17-K!I*QKZX`8+VY@Dd z&}@_qf6k;wlNms55YsR>5sX-EjumvuFoQ)a>c~olozCfot=+gsB_-F4EP>Xr_JVyS z&=_;EO^wDFIWLzCIknni=a$?Lmo2iHos$}d;)KlL_{*3Bfcy1POGEs?6tX{&Q^G^mc&m5xOxUsYt)|MgX8{ouJBj%M7B29(op^ZP*& zGqg&FKc}UH?Sfr8Ne&Dbo4yHGU<1Xp7{v*+o#ldw=ztJK{zD0bxHslulBGTC;99q#16?DV8Pv(uCI%T7<)FP)y0 z=fw!tZ`zEeTqyF{{|t(>Ztx>z*T7i~L9P+3_7&H#XK{_J=6hU_u^rQ}?`x0xyoSmg z^bJ_M^oxTpPm=p@yH$I>GQy3H2%jEojjlD~0)f?(urtGH>Y_NPmPXvNxR#4Ox^NP@ zdK)kIa>b=;RC0X_*BiJ(iREbpJ4U{)otr6N>Aq%sp{AE&LMwfKWS zBKc7)SYNTKF<91=_0e#!B$@I)*>z-YsEeoJ2L|~ z?)L>h20$$!GI~=1TSs8PGSe1(+d>Anqw)J-G(woRj*N*0!SKxhAvl-;LWF$O7G39o zAPAYosxDQoXXZX0WYR2qQ<|j=YMdyvUf9CaXv7a zZFa1W6?TXF?=z0ICNd7MXN+9dbpoMEPqEDnA2E1^Md6?@o1MXGoim$&&&_oK918Fd zzyaY`MLR+SwnhaG;SyT=g4=EQA#jYbfd>MIu)&5|E(jc)C30+#*=WiR#rg^O05_Q+3-wY9SDCpJRt13ST5WDy;u z@n0-4qhh|I4S^Yjq=^M(65{P>!FF9Ima+)e<&=-J2?Q*(M@%xiJyY19ce+pe}>K zMPFSWPXrG%5$du*u(a47qDr>K*Pq5W>$0Q10O=S7dL5?gg6N)NUl1NO7-88ea18Qe z#^jTZ14?~}m&gp)=_?%(#=wdR3&ypOX}x~48{&&T4thv&!vW30IPT=6oA3h;W+IEz zrmQ%`(_qYku8ltl*lum{0&N&dFYc9U?IV~wbzs>et2l||q&Mcw_+|#((0aMC$V|OD z$Y7ri@=;?%NHK#>jubJAA@!XA2c}fQ>6~2ah&dQ5xQ{8aSds=LB#l@xkR}W?Y!WoI z1&`{Kj0UvI95+e2Rq)kItdJ2f^h_xFM%-`2qTnf28Q*a#AW@;jX)57yZpdaQ`$BV+ z0SUtibYD(}i;76@C&G(0xQ7MD#k?Yru4@ltijr!ZBT!NqVa&(UMMXBy8Z6Zqi%g-c z!vofB(D5FaNoGi`u3{ktaB(JPI~B2W z;M1(ddReoUNM!@x?HO$xFm~g(oDz&El1`neF4hwVQ-%2%jAt-a8?Q{cjJ?5B z7aL3!M@x-;34PwiK4z*sh~#xJ9{YhvUT2TpX^YMM^w_PJ_1J~Mk|ceq$JnaOEyCA0 z)L@&|j7T?kd@*!VvhlIxWVCq3A>|pQ+-Mj8 z(?E<%aCNfoGbwv4lk}kUv%etOrZ!k-;&kO0n4dGZj^d`Hg<$zZ_2y~bA=_MFSLK0-)bY$HOoLW>_k;FH>7`RO_ z+H6;u2hL*Md*EjawoD96G|Q@98dCQzDNuuYe;aw9YruXSNZys6tT%w zalBhxKg3l|xyN~Xn=2`Rc1*pG>v3j}U=_rlCg0d20*tRMZ@(!yreqXEL|C3&OkyZr z3SXYVSl}v(s}U+-etecoO3C+@I(hQbvmK`q>B-;*W9>8A(1tM;y?sXMw(K)%PrW*; zeMardSA_DQS`bLBS_!>fsAAFH*H^~U`P9bff zwj~<@Ovyb|(Pbr0tM2sOi<WV2~YTR`&>6Ru6YBwGT6 zYBI;wi4(JgMln|$C`AKm9iX)O^LFK6xA^fq9#8g*J7GtXPJsAiMaeJ0OE40VDdqj) z$4K#2QI>>&RRIwe#!&|?sk>OlwqGc9z3T}Kop{35KpIH2p|B^UEz}1?wJJPWX#U;$ z?`i(pK*dAWnrv`kV0Mp*izK~5`(|P3h#KK#&-CP3;<78*sl)7LilIGIo0?*1dTj12 z2X2JW$g893Anf^0^Iv7pYi>LA*fWqDM>5(>Ei@j`E_hJs%{AN5Lc+updlDp=sU?Tw z4kwzCpt4p$5K>qAJ$I&`kzluULV|Y<6=CxbI^V+dL%kIew68l767*Ogfg3Fn?7^%@ zGW`gqX9lndb_H`m<#KHc37!wnFU}k{xWIwY)Zsu(1hzKx5{6Vj!^mhTCD(*8M1#0| z5@|gn_=^n_d!azebl{|AKVr)<#nX9igUP%#@kbn)pmisIEKG4?Q!AP?4^J)f$iW(V z-O7fFvn^0r zWvAOPEBr6Y_!f$21^jSi zx6hCjCrPXban?2A#ibC^rH82p#mAVzb#xDU@5mwP2O z9NBP$;S$bwL>46>b8{RlbJb-K7dR3Fc0RlIec7dt1AJi%JkyipfaWVIAmgTt{7lvj{F# zgMCF~(O^%}=s`&LA!Ad6xS)WLzc%SZ`3zD}44sN85bXgQNC5~K4H92W{f1U=3BfGW z3MyEr#C!;v2(6e{Dj~>|lfnDJ;eF_)T<)FY)#YiC4eW{Wh-|!X$*}@BMIamYExSBO zn^%&;%%Hr!6Fnc;ZNG?SB<9-hlERX1)&c~*+!RB^+aR{Q#w-RRaJ22l1(Lv-0i^iW zRsBHIU1z)@t{)LZz%SMffq|rT5*?Z*u2N~&*r}R6zn?CAL<9_!BZ*@_!CDLAsbRuQ47Wu-+zwTh&y6C>bf%=>7RrUBTKgjAbi_l6 z(ELl;GtG(bguvOklWMOKigs^S9DWSB?TL8;Uv7Pby?NYYhq zBDqwnO$047j05>4+wv(b91#^(qZB?Q!vNHh?$Xy|K z90Fdnn`9i2g&xdSC;dqY7NOwC(xtTesCB_Y(GA6aB*lYhA#II_dZcD#eQa=KO9RVc zEI|z-k%g89r#I$Ax{Hy^_u*W!%voMI7l7L&QlxEFlL>3;E-XtfK?;MId@bBG?G=uB zG)ixbgW{F|H2wlkgDy1q?rKFuC2*8>= zJd1HwfB;tR-X0luONdGL73i{fLB1&v1MwR%s5w=EjW0XE|FEiPGFp?^X_ssyF~S32 zGYi(o1H0tXB;?YhFPApK{v>45M9c%36zF0b<$jH=D+7X0C&f<(+m>rmY@3r>VB2!? zv&5N)#I~KfB{{-2%qs5fsucvgl7C`}9u&4O_jX~61^0G|`lBuPW;1m+_ZAEz!l0m~ zO>=P3mx#Rm-ZJs_`${GbaaP0mrZ?O0z)32IZ_95IUf8szUY=aDP@&X-6bITS6KSEt z#dlbS5RU9JJ8Z>McsD$M!Tbpr2G#p8|LOGmoyRiKZkClXHz8I96bnttd00$H#=Ilv z7bRYH#_!k0kqoywXJ=JuQz4*)G<_tD%}` zjwQ*)t8h)7kP1S`4*|mXHb2p|1^wg!D5ulP1FmX~7lhUCQ z*P<}$!ni2cCN;9+@Hjo>$Mct>O%zT3kXfDBp416&t5%`+5r`awKffe@k_Q&u7?C3( zax~?GhLBSZo}G(w16zzBP?Gg2 z{4Ay6{b!M_BGftE%H23qv`4is77f7t^FSIi4@t6JO~}ARBdmt!rPh^%47B3Fhd@jm zGGKR3p^yPSp=X_EDaIGHG-N4A(~^T0jw*Oy$K&N|)<3S@rfD-%W+E_%a}LBnw*--N zLVrUua^tRV2a9|!YJU0NinH8i_2v)!4-Yaa;G-#D>R~acCVR<)e9kXCSm$7E^9R4{ zpVSySPH4`jvzLZZWReBj=lLOLs+oh=@IRl3a5|4K5`16`*oPuYV~RA74vok~2ym))AeOBD{_?yEvw1A4;0{nFt^bxUwcr%^C^wX5ya z>GU7%y(+dI;AvJxVlex!3bB`>WiMV8+U0T<-C|X2J+N36Zn<3*Z8vLHMX;BpRU!6* z5|Ee*pAu8iRIo-dL4$MbvpAe4l@>>09!rbkv*zh3H&MsE#F>M#wawm>Y3+FpMJf0@ zL@oXvMyuA+>`6I0Icec;E-KNIh0ON_Z=AlNDeKZzXiM&EY9Z~A1xk8G9-yg+iNUwg z)g=&y%{%|_*N?4~2ROfY*47_(E=*S>hiG5}*RL~qKlK0o{v>fU&7Fg0*$b4jBc6c` zm$AagiPYgIVsJ%tNDnTR&jW; zWN3J4+lGhy^_qB_@LB|33*)s2y!rzB3%vTm=C;07P>9pdgjd_f3;6>pnEg6vpM4bG ze+yd1pS}_1m}~x7!8jFUM6@y_iQ^3^yqVd8fFkxx7fTKr;Wfr4u4afsSb4c??lccP zfgIE~Jplx|gztqpFP6-`mgidppzX%un??^MhSyXVll3 zeY^Ua-nj1W4eMpSj`U2gA3fG}^D=ewvVFUGxgLADf*WGWUZL-=Sm5{Tdtkh>2gbcU zF!W3h3_aGhcdy#JcV95>>vi+0UN@|zg zB1pTr{pMb`kMz3LGrey0Sl2C@ywY7PjfFomHPosEbX-y%t=5{E1Tm6w1j(Zyi`J`` zXq9l+UFAhToqmVKvkvStqc-sHWO^NVgBjr>{|nFs0Yo(!sR;^b_t0z96G1E%>g=AC zMvojBQ9>(TW`2aXgTK6}2T(N7(B-`h*HQ^BO%0=S1Zkjlxt_wOzD-=14H8udkQAnv z8{2Nuh*V~EGwP@+$V(D~3bC${s$xDId-l=v6^-^2lW~rmTi`24$ceW76_v$Hd4l)ssCyo%Xe!#KHZ;mkCFGNfrlOOl zqN$V!=1tr76itN=G=>hL%e7O5aQlK|!&fi*tJOZ#a4oI<90MIG;M(oA1^CoXRX#}Q zao!ZRy7AqQiqK`NLg+fD^Lv*FebRhRrAU+g32J`{MGdxZKa>fYdFz zIUS^UdtB~_%bB>`&GeI*^%^mr7ZiASwU)k_IfFh1h9H?-uMEZF-niVyWpc3fwLb)D z6^xfx!G>1BC{}?lxB_AoVC%&xhxQfqSAhbNwF)+StALfQLUpTFL3mYKl4mujN-*nc ziIl;PNEzevc92AE4{3L{!}p{y5yD{hA5e6y)tegH@6+kywm>)yOeCR`XKjI$+DelX zhD>-E2N;%ejw>Kbm4KmZuTcz5{iuLRW+81!xT@bjKFM=1-TVB)fbH9wL zttWzH(c;`$z)-p*|pfMZESTU3FOOP&iP$Oopxu;%iQ@H^9`SJE(yQ=Ce~ zQ7{Z3?Qo6(q;JSvLBMtgt}Sik6ds1U=!PMWikP8^ExiS`tEqUIF{u&Z!Wu^R@?scz z(8J(0%zv++mDcgI?0^|6DUipPvtb2{vog(w}uK{Rk8_l{_Q zn(NtPb8V1sRI@v)H$H~H(SFeSn7%GTHHHQJDc*7u5;1Dn;8(HqX{2U=nRe6D;NXj}gR`KIGLQE!jjf02h87E^;utNqVaHFw6 z4d>(;8{k3YTeK~%M1>>!J4H@(YX8`9&f|Pmc_U_C0JeYtBY@C>L5Sytt!$eW#kB7HGY3PU2N{gJ_Azgkyh_ zH-aU*0Ywi1hUa_=?GQ4<#}065HR}i}BSl&k z?QFmm+4P|&`G&;^8MhKBjzWwAfpiEDSEYCS-N0%5)ARf^dH6v=6GPDPw}85-t~Y^( zO%;aIW(%2(Xr($mN^Nb)^FNey?o)!08=o{kc~hhaCWK(%iEYnts z{)G=@u|Xd3G}_qYgxD%)?0E25NH80*4;fjpvS7P}bKDPKFYG5t7wYhqWZ$T91&OHa z8db534fcZdP{py`usQgRGE#QDjds*~TMIe?U{R*SK-yQk_^h^LIRENbC+;T9+b5p_Qq?Xuqg1R21BlEmC{pmXA)$l6pWfRE+(<)JBz-V$CbT;B%!MS zUGNumz~7fQ1_1%rbu3l;?2FPK zGC-?ZsiXH?tRBjaRiL!hHtgH_sZ>yBv^lL+NG0aZvGkCF#?x)orX_*Mmtv`J)~S8s zGht1DBq6L3D6$ywI7kXI@hB)_;%%lsKPa_|xNy#v(XUKR1cxK6XQuCHjp$?rR-xPx zSjEc(REBR&|}q>B~3Ca46P_Z&_zU2DqH}z zzY$!N=;+c^P4{*fS?gl+6##{u49AX?o!Re{j#QE&GG@+bP{;is)HUj)>@e0$S_OBQ zxO(J**(yyoGEiy@4#V)&a)QlaQbpiFmJ$sb57-WA5FjK0LmX!Mw3%QcA5wi1gQ$xR zPD`e|+;aq=j_J?co`8l?lVOy4F!ZXXd?4lWXeQYYcYKqADq=i5$yg$wPw`j`U11fb zgtB9a+5{`L1DlWlad1b0crv>}vp6mHP6}HB+Ljr$(=4@D(XV760wW8P7vX!c()m%1 zaa(St4l?bQPZcjv;O*1%-7J_mwz^r^j$lNmG?PtTZ5yPhNx;--8Z;e|MxjrO$v@G~ zd<@yo3JE40iVA72peP_FX&zPZ--7%hctAE&3YnG zMNt!Xr(UzW9Ua4}(>G^eIUx^CRoRU~V>bnS?Dcsj0_`nO18SxTgfC+E)Bs2@b4aCQ zyh@j;vo|o!^WFn%yI2~S7#>_i>`*7DQ#k@>547}ZEh^ol@B=sFpzCV8rB4+0#dsKK zN1r@im2E+_YHK@A&*)QB_uMw_2WVKdK#Wj?5Rz1!AqJ&YGg@uo z=ywUcSb5Sw{6^_h2!hY5z@&dy7Cs7oA~kuGQ>`WxLg4FXoqf>wK#uilIZGJF734w~0W<@w9^hy4Dk5Z~f15afOOb8k(O zJ*o^(?UeG!b4UZliKD=!zDv(BeYcC#o9LimfKXseMh1PN5()*3!J-E5y#|Fr!b2K% z<-KeXPVG8evk1Bb?NuyWMf2Zgq2ZFXYdYY?I}eD%lY=x@i1_U9Q# zCi0z4Aif{7`jU=}#U2X5r#9ulL|MccB|ogn*8+Dg_kZjA0PfEHAMQ4R{Pi4lBX#FR zHuk?lx9-qRfRti=fjtw>>^o>g`tmaUdAWBB_@MWB8l_aXU#UO$&OXgjo&Ja^p{+Up z%4B+=#a^E2L5Jy8m9`YK(x?w)wMdnco%R$A9&D`iD*DW2b(;MCkVF*A?~KIQ;8>VS z@~fpFJX4vJd~GY$!*kfVm>$xm95N{5*6QDwhy6SVbF+h~2Oh@VFwbvtD9Ed$xiM=XB37 zP8PXY0{J=?H%CN$sR>y?>CLtQ$h_BpoYJd|aswbsXUE&ic6smZ-FErtO6>AKwXh(n zOm?~U^g?YA|1-}(tn}y;`7IX6QrFnU5J^D|LelV1k2C$4Qn8&3@s7~UmG;OR0nF~(dE^B(o!EX0tI7>PtYZE1`)sz5) zv%lE=c&F$~L`(o=BHI@g7e5G^?L@ve?Tw<^*_VcBILy zN8lxywL&`TLNcsss@Bm3#8ho8Yy#N3Y!s664%@o8? z!CWLX1QHWP!qx*IE8&MV!W}spG$EQ&ZW!Oi5_Pxu?g%{LJ1B@IQhR1!;Q-PuP-!9| zfn9);v(({RE*IUSj8*z{JWanJlJ=x7*_;v_IEmAG)tat%E?VU(QZGT(8iE?M9l2t) zcF(n=u%AJeH)<5!)W>XjLxI96>)@E3Ge&f`B7h1M+078X7;mTFU7z6Di%>HwU)Zir z0MuxE$O`6-m2c|-iocGB;c1TgQFI++V3e8`lXJToX$iIn#k>aT-pD}eq!If@8ZpG7_d+S~_|zs6)hE@X zp6OR}UHm8T1P*?YE6H+A?qp*?&p6=hvZITV8ZPk%H_#RmyhsrsvfWzi1#fy6v_k+( zl7w}vv|oFbZL7a{y>$G~=bqoPVx z=`xe<0Rvgu@ciy;wc%+QBhwSRXtCi*s2R*`hY@+O4Nv(IS}(L@B9cU`P+9})qU@=A z^P-j7u5u?$+*T4H;b;xZR+2<$r?Y665an!fx8A~gE@$j`gyqdw;;Cc- zh%sX*xy+Z;+@xYgF<5jkD-iWeh7#LBs_Htky2;M2q^(CModFdHl|jnis!h4?c_HEABeW6*AbZlz6709zPJa?&4g6EqD1*FXnW3m}de zZ_IX^peB`_o1k0Om}%7zWQ|l(S+95#)S7MB5{v{Txwro*LoHM~K^$WiN|^CeEv2oe z1o@C7qsB94ow_$;?KXN#fclAs7h8sClT7r=*U+-j^Z7@ByXpsS;WTMB54VBbJ7x8W z^X#@!ZlXG2_}O^1+GgXG1x!9CrAjRo1?LRc&>S5=l_qubH2@F2Xd+oJrR z?Q4uoGWx6)(5P)0xNk)KuxY~n5{pvw`ZP%>^Gedd6b)q4U7?%~+I#HVr5~hC#Y|J}#i zcYp5k-+gEME;)Ob3-eq3u5gv`>U06&5gS?oUKMB9(X6bfxfs6DE<|^>%cIeK_x+oV z!S3t*%U@rS@Y@w7J?QM8F78gR$`HBCsd>>d5KsNU@>>!Nr&oc%UcEMEUQINx{0rtO z9UeaaN1e-I;Azd;<8|#Z1(5vy+8kl+$*kY57bmt-z6u>abh8) zfIb*Y`o|MpKnz*)R=yz2ya-!z!jU3!(%~j$OHPCI_UYn>b02$R`f~1qmaLipT6BX% zX%d|1GO>Jv{N!WN#u*wL^P zdMPTjTTJc_bp{foVkjJE_8C>tMJ6!Bw&&)Ze6i!mkp*4EibO^D9sVOe|Xsv}2#{=kERAqY}uyyvOBL zakT=@o3QM9Mv@6N zIH~r>4dt0Efdi#p20#j4>?1|1KcR$uUVd6)GRJ)uGq^AXa{x5Nd%Sx+qJs-Wx#{_} zRq-xPXwILPKSu{bbME)-LnYR$O34NqGv&d3NbaRS)}rST8dlqu7=KWlJ(hYh_UTTi zO|N@Ked>T~9YnqQnGTTl_gi}XyrB3s0T7;pkLV*N%m+E{iy;#yqYwXu;Hidpy=^l4 zOS1hqk~GpyjgPRHkLg@&gjdA}R&@^pAuBXImOi|d#a|8Isr6l)i9)F|ytFpWabc;L zPuw}zWcNs%2AS#lr4Kf*w=gYVyj_6Hywrh{rspk}d1M+5>DKI5d1R==kZ~~OyBd!2 zkQm#Gc22hK=;Vn-JHK{-cBJ$c92n1p{xJ3dA3P8i&rNLmayeB`&?QKr){q#dOriOS zxKTWWEGa%)}N@JK8kMIMUPOVd8YA~SK=)Lwmou)g7q8&>x10CJgp`0Of zRhq+ADDTPjptxas9T1ZUTXF;MVZ9YEiEVvxXYZAPdDpjRexz`9@8D-E<^RJCF{AOW zyM<#yfz7;8Cf^3jzvc~kp=lTSER*JkPobjTDZGP{x6BAwR&-H4s7}hk8XI>tPq(4| zIJg`UL8LdtQ3yn^#uP zU3p@xe%B9IR+7+6sCB}t0{e|uLK(tip_rz0PllQy)OoiL%_mS<`x{%vz0Y?TXzKZk zn&A>RiKA0*S&^qiawxy`2-WB+pLHWJeb$Z99&@fiaaV&<989c@fd)m2DvOFif!?Li zPNWK>NmIb&b=XIhoc*7rVmGN_Tph!&JbPA@N9U@4LM$fX=vecLXJ0Q@PC<2$*Ew)( z&;^bmLVj6g>#9L0<{=&OR{g0rWdKZN0CW$4hHBI5zo?{|Dx(~XYZ154p!a}XDVk(< z&t(|c0XYye5RpnvQY4xKG^ArH5>3pV9O^C-jc9X4q7{ln<5QG4Rw;9_7Ar|qv7qM_ zN+GKbsijcs*+(b~Ex3e*Pm*w&<+n!g+zo9I*9~Dj-M|9jEU_D?Tz!Lz4x9*3PiWm7 zYd-`1gr8B#uaBZ3z92}xI?FD7)g7wC*Qfw@B^md|eEuw`3M)X|)M9jAbNvjbWjvef z4{-ew-RG)M^zY?LA@v6D&HNUwZ{qr;T-hd{Ro4r==kV>L-2FS%3EjP!ueinMT(JM1 zNlzS2e41}KrRKM?2#)f%1-HRFd@=S)-$>4e6S8Q0kKJARR#jf=ZC7LvW=sqHr@p+1Y zDDheE$z29fh-6`+?F)`QWN~#bupT&$i-CxM;IJ2(;=I-Y;1mz)YyKbwwiK{%qi0JR zBK$<(?MRgwrW(s}+=_M?aQ>DY?q#I3n+mjecYU1zSLB5V57%_J55zc3=t>=moHl&- zI?uxFB1sXB-&7!MHs99CVLGC3M+0%t@ivQ9F!kC2US;D4i8E=0xe~EPbcBZ-+%T;q zcmv%jP?}W~KaYLKE^6yxIUBB$F%RhEk4M zIsv!Tl6Y=BtO_!zHiI(uHGYrw44T?(!2v1C>P$r-Q%Fb~fAC!GqEXFRMe%dPQ#-2795X~`my^zN4 zstE4Tl@7Wi;L?c}jv_%$QO8VNo>Up;`+|Lk(Tm z(+oe>G>f)$;Dt*vSmtxUk{*kp@=H6^klsG29ji8mif*|q=vbd)7(p3C53=|#O(u6W z(T3B@96DD*#{{+U#sv7s$T{V`@jZ&Q!8!F#o zv5}{_=VD7EH#Np$gSJG0UTka!YWS=yYMMZSdMqfA8}0C?>L88@Ib}}F@TFn&vuI$$ zASxD{Ct>GeGn9+PRvnSL#O9(hpOa{Y$F-6+wJcVh(5q8voQ8AZ?9!6t zt`?l()RGj!BJ)-)1utQN<*W%(FOkM^tikdDoW`|*O^d{Edi3uuVwIW%66fz=0V zj8SLcG-IlTPr>yDrCSKIt;SRf_jKuD`8cQEgG4FktEz?biTW?+tBIt{GTtz9S(-i)P^KDYu96wW3Sd-XCg><`$;>5<8WTvA1kY+U3kGSvfEv67 zUuZQ9(_{#DMzKSByYvI9Pb>@z6?H;1ct;stZK5GYZda~?^C6p#LSb+1;nA=-R;&Oo zt7(5-a&+`SO%QRi_HB(amPO(tLhwRdNaFYeX<44)d!kJP)GpSAxWL#GZK{Nn7i)kd z$w+>gZnh#LGy|Uuaa}7icG*T=ur>o!RWLJ_O>}5Z(jvJyUf3r|6EvXlD+vg>1rl_2 z>$K+d;0-TC*<^v-WNvCS7P=c+f!!!A|Hb|orAMsn7wJA5T7f*YNpzmfsew895#+zuQvJ723 zgNa;85VA=|F3G5+5tCM5U9CneKsS>fg}kFJNly_-C=n_(1_=svreHZrtWPWmL|I_V z1On?8>O3##Of7+I3v~+u*)V}@FB6FC>2?INilc{4;k9O|5PGBcoP-%?+#9Q^jRax9 z&qWw$hnyK}%)zb~7}7~7e05BJtWM1>EL+RI`a2r9iey>ZM4-Id4V1`W@mdj1qAHY_ zDB45mj0@OO%lWNyTf&OcdSG=YpOg14#t!>T_?E%KO{@5r*?MV5FpZBVFO^~{zm$(B zUodfpaRJ>z@dE>zsGj17ilK?3QnBU;eJvL8Lg(X#=BJ~FkhnS^#?FmZ^V6#KRyfj# zL-4K}IHadQspWxd#12GSH*iaL+%+*9ixtr7grVs((XCF%YCRs@*^^;KZQLn%vV_AX zk>vAwS=QO?!~j&G(4i#33=#W*!l6(oQ9l%!+rw&|jTB(TtThB$KAj8DI;P?WXCPE+$xy|G6%`v@TEv(FJvqmb_$ z43i8cDW>J}A0$*lt~<7n=W-n?#D1GAwH@r4dz`nQ$@lkgReaU^xIP;sv%3Z+g&OPZ9Nx=U z24co=6BvFmmd~^JJx0bhk6mH%zjx!@&Gtb}R}*_zBHOT}x@ zAyzoZM1A^u{wSCl= zl)w>Lv+*o%%Ejj$ZuSVaSYRwp3+hh(1PBnOqCD_p&bQ?5^KKK3sda#oPC=mxm>$X| zem_5+$Kz196u8(%cPBv1CL8fTz^m;fo#Pg@o|1AAreRVoA_9BtgWc6#Fnq70C4C}2 zfvFKsScOO4n0=bpYM;(zW9wBa?-rmY&zUWK*{(g$nYNwkMbI*ekkaVHju*D8n#tug zyjc&68ezxwoUxmM=1iQsB#7sM146}<31q6a#FOngbFLdVLN4Z^YSvqli#NA&af_yQ z8uOZ4f#RVFyYt*Qf*~2<4l*#b3w2XU|>5O*byoWNb*7|V(#W+gBY&s!HM~ssE1$7nAi&iGKvEy zE&I_*h$&Wrxg3tB=ENWEVaRs!$HEi`2e`PRIrH$;;v$22pN9J9_ll_bk0sUBp-|rV zo*erNP?$J3VV5L%hO={H$x0k8BnkWwqTEb+R!I3a_^9Qgk+&cQL!iGzlXe%i)oagB z&KJTW!%g9;lJ%z6oXpxy7>^uQa`NPJ9F{7$e5PXdtI~_k!Q6_JSyjSE8VTD;(pd0a zQRmi5m}Uu@QAlc)(-`ft`r?_4J~$RvL*!vUle}e$X02{u%d#ZeUg{V7_6|HjzhKUB z7zp$}+lwCj%5?hV8??)rPAyate@c*&rHCLigTp0=WEujSWRpy&9AA%>w}}*m*!1F} zq6bI{j(v+#gW?GBFK8foHq{R~GGVW<803Qz#{&YfNA*H{B3ARsDfs2aeGDoL1GpH! zGqplRI4v4B?qU&Qw&2s@s~v7?$6SjK`b9>q+rlzmEZernR#fAt^aQrM1MWz?cuz1{ zP-3-Ud>3?bpP)~55OPvuy0r?*!RHUkVh0YFpd@NQcm(iOP})Io*|>}jFB6wbQ0~Mf zTPJ(qvH+KsUx{{Nb_g;M?TE!;c_i{Ij*POLf3lExnc_SjRdphfhiK50)2EyMI-ujs*o;K*az5hzdXyFZX0O4ND)OF`Dnc0D>{}InMNsHrT81aVar6c3 z4yp{!c$k&}PwSE^p2lezpF=V`RpT%%BXpB~q68|(lll2ofzyX+8NCp-!?cW04iD2Z zlr`v3OKBt&BN9-J|29X zdaLj2gk3s=agn2Pq|41cvQPq#w7I$MaI=Q3v2O+*;vF90q8!al!H6BY@MI2D1)ig( z2+qMrG;W-=u+a$G*|%^8pL|DfsUcg#+K3`1%co*FVhz7l=`c(7)LnVSj!pJFiLz6E zufj9Hh$B0sr>@+*ajg;e0|pdg85vuQI;s>Ht#Ts03HY7A zIP|}KKrZ#?{!Jzh%^BjS2s@~`wuwVZ^La{%L(irW5{HyOw46AkRHR$E`#G-9WuA}n z|E>h0TC=G9T8H?3v8M@zTO0~cX+mss-zqX3RL>QS#MXgUodRuGy%DM6Bb=kyDmz5U z4eW6L=Hp*})(DbIx*#ufWfs9<+EI4kw4*N*I#t<^0D`NOcJyU%ufw#XU6OT?32~Tq zxzh#c0#w4-a1cJu+KJedE+*`bIdZQLl$hJ7<7y(v0V39-sZlCVN%DNWyLN2N-Z z=V<>b^x-v2=|Z?DeOe2N7@{az4Mx`1iqpNpHq!i!sj%j&lh}= z!m|Q@-c4NzpA(Fp0({ZcW#VrMzCQk(UbGUvMQTxO`Q{NGy z)ap6qstQui3FmPD$*AF#k7X|<5(Yp21%yhy=^bCvFS%j&1>gMQyuCHb= zJ6;cG->#Iy51nYfBcG{=jzIqRqxptIEH+ekfP!216CtA3`eQ09r+SYaYoan048z%y zs%+6745|>CxT_K+dWNBBZf<+<27nX=v!)f;K&^y;j}Y__YCE4 zROrnDVX8R6H0mX`K02(ErmEt0aXO0PP+X(AD(6|L2?a7ULme5C2{6G~6J6k5XwW&O zJ42m(zylOQ3=r?-ZSrVAekikCID6&~RoORh4{3T+p3ZUkUZPx5ywL#LVf*N!D1oC278;EZ z4KFtUiXpqa5m2?mShlnYQc)(Y%Y67aBo#{*;zS2-T0KcL?Rl`$js~XFpEAnxSgODE zWg-PH**r=D`$BM(zER6u7Y>forHaexxZEC>JL1Cp>XEzS@^XM;1Yb|Xi&HA@i*Gut zf@5K7KMxboYX|Bs`|8X^ihnYv1)Y4NSIcNY<@xn304@XIG5{_E;4%O%0a&mJvC3%t zQMio@%KHO9JfWaJu9WBZ^+SZfd{-Z3?a^5(NG{+nXAFMfiydWepf1UWQ6sWEh$wJ) zI^oh}ya!%f*?RV2p&i<|q{(z@>va03eJrapmt0UtsADLt^90*v9Y;aNwM~fW(o>mw5_eX~cx7d;=rVqrPM`P=mI_hQgNTwI zby3pPH;NEg1q9bRT8E=MhB`Frh(eubDqBBl>)H!2_a~p!psQ`Cw&=fBe?9$K)b&U&k zMxQU^;EAlcO;xB0MRuz?BBiQ0$T0}ab3v%LL!BAfHX+W0VyXmD=n?8i)uXVaG-ygO z5${|pdK-b}Y13RXoWG}&HZ|<@G!LSG`a!8)WSOpdP*QyR&eEqFNtH^ES!2u_RqGE8 zK+wEOWj1ofgd@cN4enS-`_{sIolg|Q5Ot^83tLLmS9uA@mMG+}<5Wz?Fe^`qid##g zUyR*8`EDjb-#z#`RVCV|tPCkxe_6;pa_1Bb{QVUeeSROK3uHc7CM0bKS+yulj|U|g zo4qGTA|pQu`RGaGR1;)`rYHYqFlrL``+c-x&t5(nx7VOii=`vX7L7q>+ge_;z)M<- zJlSEeeQ2wXJT=!xo*w!e!kZE(mhd)3n}v(azSG6-5-SLcfozQz6fZZ~Vne*=QOWzG zAtN?mVbxh;%Qx7}$LVoD6j25vQtQ{MTo3>(XhoOI$O)jQiv4-EFqRKg|jEk8RR-u^G zHW!%G5g1X%{{#LnU`V52SyXO`_VM!&HXbu1WgDp@-b-!lhY2NQ_tQsqJ#CB4yvBzp2LFNu zCH^%w{~DQp0b$}_&RAH%zo-_gSny12EUR+T_!_)Mpfdh~7i#Tk&^ni|+F+s!L|lmP zI23jhstZT#pSXO+X zSY=RZfZs1nWd#H~d$$Jg8P!~wPXAh~4%Hz?b>J@gf``@R4nfmSCffdck_I4A(zTW0 z8lA+dcy=xkI3LqN{^D8&xJFW*QHNEYw53_|WOlxJba?hyt`bf>p=wXODpRW(a|)IV z5YmmRt6HNABGLO>k@lq7(SaiBNcd5PjFP8}Eo5nP^Z8@ta_dZ@4-#FpUbO%gv;(Hq zOCV28QY={Cgy@S8uhm zj|Rig3{dY4v{}D%vIk9_77STo{8mT3yn%dBt{9ED6=lLg@rt#jbglYwL$oQ0;i}Z( zi9zVX6IS>oq{-&A2^EL_os^TUC@ofK_Q;Y7t(VyVY5aFnZ*-n(5Y+zGKOk>9{XMT? zN&!KDstlILY!~ga6;(>S%`?xHn%8`CNk~~mR!ouCab_<{!^>J?)9KH*3_~;ZA)6PO z__7WK5}gFA_9YDdo`<5zz7jl4f9cz_WQNK~Jo6>E`&w-qUl?S86*AJvcwRvRsoIk} zhmS~IE~D)-#6a1+@2B$SS+n1RfScEey$b-=_3yH-Xa5niASW`#3)xi{7x`*7Rn`CoJ_{uU{sxRGN4p zTrdHM;%xx0Zu5A1WBk{qd6b50**x~Fo3A%ymn_h;fl=|)s6`2(EwMZ=%f2#0e~A$k z=Fm3AnRt;QN7dXiVqyRMw@U2EIl6K(ZHY2$(M?45122O9;?9GU3ds4+fYQ2Vl3@58Zk$)=ml>Dt}5d!eQ+(GS08@Jvl zC2$~ctRcvL9S9t4pNT&OIFiYL6IEaJx{9wF9KoNfqts{nn!r(uuH0;J26{@)VK`Xe zyg!Hk&YDYXE5deb+C}7u5KtR(Pn270(I7xewW!09CCDac#coy=8e@_*8esNhf-J+F z{LpafrLImFCw;EB>)2W(+j&n%(lqw(E_%umcAyPu8-j8AIVmZ*hM1_-rh%sc&#ROc z>}O3eE_OMNGDKM-xbNc|4Fh-Z)1kFeIK6o+ho@O3;|Zw_swfrmSjw8I9(F5$WEOne zyYuG1>QN@%C^73|!K~^2wrp6BUYOk?P;Sdc_4tL^monoQ&o-wnG^ZYN7rE?)ovlAk z>(@o=|C5HYyLH@CcVQR^$owAH7f-9R1@OcBHet2GO#qV`np}9W9(`s09KL=_A+QF| z%Q36cw%qLdm#~L1!dOEc5PexW>QJV|ymL^W2BP^sD2tX*Z1!yFjqk~un-A1dU#$Y9 zT`LAQxdU%+qwRWq+YI=(TdhH6hPT9}3WER+Yy=B-;>a|x&(UhK=t&Q79BnebS{qDM z$`Aa98q}%7)9LSa7D#i8c<*HP#=HQ2G0xa_;xpPsa2xf;F6zR^31gMIC%+x)Uidf* zm>*xAy$wN8I8xhF!I-3Wz?gzF0*=>(zq#6=qX2gJHw^`p+4(mGN{p}8h~N`gwO)tP z_~f+A&4`xTkumbGh0lUB*=%)y34$QfdE$tb!6S1tDIGstA_*5(#~{3nIdZO)zC)j2 z02hLqe0MuVLRpMT7YI0(M`kY|GtY}s@5;$^`e@5KIoIUQtnI6KY+izR@jA^Fto-ck zEdz+3reGXlA9)Jv(Ye}K*K!5xKccfC^f6376gf0Xu@cmG@jxw|Oi8-HF2&83lYoDp z{o|=3Z8yig{)%(4sm+YS+!>ON(T)%csox&2fw%&f9zb2RCGzEiXHPo?i{rRuShyC7wlF?B*_5M!OxYLatRQxJ2j?Iygkx!! z#~>iIZ7{GLO0Z#K0J!MJ0Ola@oV0sh5c^@?k#yfRz7a$PO9wnr6sZiHwbRm8CmG(+ z=`YdVWR6$A%4rnush3L_(beRfokDcsNwoDKPd`1%O@hcp(zK!(7}XPK=7N=q4~B74 z!8CBFCIMLk(C{^AhF>S=lg<|?g*?zJI>0Qzg~PiTQ&5h2XJ;IHh5L6{G2|a_iSCD1h1KX)REQBbpYp48P947SB>%QSO-cG!#ud zKmxfm8Og!H?0bZHG+&iFwtD8b3-BUkNv3FOOc0f#q31<+vlbS zHS;9(^?#hF@1l> zozeQr*2;!0Xm4-!jxs8iOInrkA99ky(P?wqW(&NYN2HwTd<9$cAX6P-_?Tw-g>N7u zdIu-^4Xxkv%_IC*qjG{TlYsPDEg0d`VrTX?$phvy^Q1xMdb5ROI(^*G>)27C*On){ z)`00vO#HNZcwm{=y!odQF|&UDhKBk6k<}B%^pgWbC5O{#xdj)| zqzAY400$r^zQ$c-aFfmch_wq%6mFVNXeS!)j=rSHvfVhH{(dWuv{1c9?T5?2HLPdK z;Rg}22qs`E-Xwz}?f>%09D=F6kt=SIn&~A(qyK3SQ9n{Mj8O&GLFh@5tW-dWUY^14 z4DJiod0lWatUcl4Ryr=m?3YsyxyvDSa8URpK9Bg3CclmYnla^wVdFsYq@`usd6naB zRIw3Htz&qY%pz_|-1r<;16K;TLcpOV2{@iJaL7Y?%^`%EmSOMyGUQ=Vp$09lfu13f z3$|YfF6&b?##xInPwkO9K24wbh8ptew5)(3pZ#x4uu%?&Z7$aAw%R3ntEJQ2zqK#Syv@FtU6r0G<9=j`6qeM0Zgma_-L`^4i23@>!fV>jVD`)TG zBjS4ckvC`sgb&SiFX&Z(I&C(g4GE;&=ZP{AP`8H2a;2p9av z9N?!%uII_y&(=Pv1%*RfK=X|luNTy?xpXO)s^KGEN97smG1@@)5n*F?hGc+-4}#M{ z(WBVvMx&AOm-5Ed07?V&cr*?&AH~VOs4O?1kAuWCr<{P`$>rs(hwo>P37sI_Lyb74 zS$+m^a4_`CI7DmG%vp3lYmTx&-+y0Q5oe$vlxNk8knuZ|{YUKK4Hwt5U5hew!n?7d;O@o3mRg;)w5 z6(K+zA)&CKgIq671A~UQ+lK?u%@9^1Gh8;i-^8iUn@bx`i#HK-EV(G;#aam&q{&|D zd|eZ50kD55iP0`++ite#Tz`7lE?w&T9A|Z-VvNR=IbV+i17UKIE*;<+?SJTAoZ#hkT-xc$Tf3`18{QMQs z#1lT|^-5$1Erj8+OL#nabTw5RKctE)@fVNY~{9l8#th`yQ*mv(=QarM!cbRHwNBZz>|w@`VCkT_V2ROXlH5KB8pA# zaNS0EbZ7L)v9~y*9?vLWrDd?I1z=c*5!y(tdaSRNp^bK0$5yrWQWPAH6|B^t5~I10 z%etCqpN2y5x=iiMz?#O#r~$F}$&heq;aI|y#i3D8wN-=T3`KR&l;^RmF;pL(4;HQs znX>1P4A?HoXa-Qd0Z8Pg?R4!43RNCJgI|b&U^+S^o$wVM!8&l-El+Dtumr@dssoJJ zZ^MM?jSIdHll}BIqnpu#7pn3>HZfBy=cW%@>Ghj}b_&_mc)c~!Qi9gr`*^OLJ#G)j zboxo{!V(c#M*dN^S5pE&{`~woJ?a2ob__WQX{?>C2^6Az6Xsj)TvN%|J7D$Ln5+~W zhegkCv!4}@=^D^<;Uy+HNG{^JeD0CVq&-YFrCE3LKmgLr8CkdoBqlb?SGI^muhP)5Ac{{fGs`K-a=7wpLGqD|!=J9nn z>u&Qr^HGh+CDL5_>+F1`7I9bdBDgJ@a_6hBUA+3*?$vlpe~V^DLzh06pI0Nw&<7@^ z?{*y$=z)9GJvUFYH( zEV=mDz|@Ms>5kt#!ov$TK)?zZjycRC0%H7z*x3|{35I#sqa13lg)d(z3+P?iJ7NVu z0NSqnjJKuOJ!V@@&Xgd_C9VLpp;HR(Czu~XpKOSn=8eAWn^GOj}*)^P@J1+|Q) zi^75Xl*%r&FoON5hxZS(+g>QbAUF?>sy^qzbF0_-o?9k6G13%#2>s8+a?B=J(d@*@ z-vve5&E>EY`PbX~Y=D!6FFrw#NsN#FX~3+Bg)KfPJ~AKE8XVBhGDjAaTGTw@jToA@ z>&)Xx>HOM0lgBEWy=yxCY`Y&wliKr?Y9@DEHwk1Wlte!%_`H~BbeM&|GDQPun^eHB z2vI5HO^rd(5&74$wX%p*VG}_^V3&srD4uGqSLHcYZb>j5|4@Lzy#68BREoENr*7~J zPr%@`Rf8~b+f!}QFe-l$wp4(jP<~Lc$Pbd6kxk_J*xLqUv650VQNwBBwgrPr&e%ez zD3_vJ1`RU=s6mrNxA5viKyo1pxj4oJKE`fTig8Jy9^Q6Vxdb~ojVj24DTn~bLop22 z55@2rG5m9fV)$t(hT+RQ#BhNa{-Xm4!OH9(QCIauVAYd=V*2{}G?IYTH4%Un^6!xU z9`fJyX3#%B#?;PX3!8nE!gSLpI2)$A4!F{;S5HZv1z4P5AHZkpCXKq4sn` z{maCEfBVo4l|7BzP(*$%tG^Z8_YV)G{YJ_Y+!q%~=KwOh#e^4Ae)=(Aw!JNY*@2m_J;_piV{b0J@5Ms(rRk@e<}26#)n~rNA@e+=a6J*AyV@#Lo+^L-+_7R>jF?2!2$GT%L! z@2?&*-=`z<-L>ncO}9vh-Y4>;-E-@0x%GD3o_-r{*JQs<+iiSVM=bP-=kyG`L1RI0G7 z%!yT@xqdr-E6$YoxAH<2n+|x3C>YoNPO(IWVZ023Vxh*QbXVg!VTx3&=n|5ksnrcEJfrG)wF@k7wWVqtEJva1s3$zCwiGZoAXl6}<@pz@ z`nF>=2k)x4$(G%Et*c}^%d>d6R?!y?kZ>kMD3~CB&y^w-Ob1GIIih&E6jMoppJOVG zA|h-ea!N%>ca$=vr)oPzelkGC!x+-7#|VT{?An>hpEN=xg> zC%?*i6u&U|2$9r8yyNvugcciNSzn%Q5d-B2u&9DW0}*GyaFv&@!VoIs+h$H3# zL&V4Ny_XM4w*++M%F^^-HTy8pQ?3GW&e5~Esy+jm0%@!Kr36|5^Eo2B<~){a)Koq% zi^eG>O$XEIpBP@3Qp(9c2fP2^XY=LR*ZO(%&vGB=*1;QA$gW!l(>;}9p0k(7kY*efPBl!iwc0EjpYvgi4)res+ z{%Ul8&G1x;b*!pL1iKNwM#cC|iUw(b__H5WP_59KD;yUTbALL0SF9H$frBKbV)pCA z=jqcxpHv4>Urx>biBf=7RPTGWTau?U85FYXqI%+kZ4@makqS(>ooW#XWLLIzny_Nx z2>*tIfF5G%~i^u-3|JY{l zG37rm9{WB*AiE(zZe43SMrzGt4j2A{os>`Y2flt%{zLz<^^@}H{$uMW<#+p!t)Gp!-BQhvYx*!oFXdh82(QvO|kMC&KzxBHK+pOjDZA6q{upX@)jep3E@|FQLx@;m*< z)=$dPV_(>l^6~zN)=$cB^dDP4DZkl&Z2hGCKmEtnPs(rgA6q{u|F-|w`bk-OEKSN2 zk}0K%`joF#ouKw#RfjtzAAxmor$@z6rC=PAlOlVLE4Q*!occ(S%(O0Lzz$9_HNr9gtiBp2n*@g-b&sVe8aG(GRvod`VNt z?QRPHm4lh0KH5`Xg`8v5EyNv+6l`C?EbdFS>G&q)Z_X}v5sr2PofhHqnKBmP^Wmmm zgzX@-2;E~^h5me5+;l&|klL3~JG^uD#>aa7SyrU)n#tjvx4-efUCiXaxYjcX>$`?C z3BArBObwi=49Yz?KV3hS&x@&iUOScTD4yyf+;0M5EvtrNNq^_;4Uc(j?eujwy7lNI z46j%!?xEPg?XO@K_Z+?IiC&o&lY}fsHBuq?3YC<$t(n@ArX!`}$2!fixaOLps24Yk zd|=l=TRgZfdd1q}fyQt^HF3Ru*iO+;TopdniK8`o;lU?oy=dE07d-g8R>fY6ut%In0S7ny=*Ynz0dfQc5O9#;I4n9%)lHhKQ z?% zYaD87Sm=N9nxeneo~{P^51>6A2wUr?A=D#ODFXGo{aXiWc~9Z9hX&M6!Jl30DQGpGt2YI^HJ$@uYW*C9 zs>2+#upXTJ_eB3=D^;5o^G{qI%-ipY9#=WNok~aJf)X)k^ zm#8Q7i~}{Y=fdhiBNX<}#CYmkIO|XtQu#nYuSX&BrQKUQ*b-ci#LIwZZzQ(LfrchD ze(d z)?@NA;MoV0eSk!hK4UObRD?VNSzHLC)i=%z(uJe;bgANUIxe@fhlb$2V>#5Ovo0EnZJOAvnZ@N)T&lR7j?3+_33ErKXap&q`RqRr>deui04Nckxqu+I8jd?r z?ZnwHuxIMn&tDNGx0-d)T zoqFk1`;u_GCH!p${w4~%*O@sWmm}~L;IHGlh;()mz%%tZg7Y_o*Jtw3#<}K$&!62I z?~lN}+M92x@bHFEOK@;CHfo1TV&I%HqK#K1F@V}rir$@Z;V{~hqR6Z|DG0A`KXYrs zErNT;9ID0fp;RFyPk?5ld}gU&ah1;;s(j{fQ9kn|5&oQHTGT#}`}#PsI6(`zyz!dS6UBMv_!jF|sPlHjbgf@9MPjz=pw4Xp%M6K(t}N_&0+3OG`o z(13-kqdrB9WQnOTtHWByH1!Nfb2zLxGEHNg^70Yx9MxP;c-zm`n<_ebl0g5>bJYw4 z8?Qs-8Hi5Oy0RcPb=;qLbYwx4ckz|Nuh(-=6?au}w4Vr34OFvu%GrP{0)bN08;oIt zF#tbz@CXqy-HvfMWzZ8K)6yVko=yQ$K$nbuGC#^l0r~{9p^g~f8HO`tIAaERq&mv$ z;7JFVl{CLerv*Q4@bWe%qXCO<34_9f8tpQgc2F7v824s)K8QWdihYFJ^IY=S4A5 z$C85;7h9%-az3CEt=ntggwqjmKZks#jQM)aJIN&HIGB#bG^|cRrk-e@Vs=ye*~Gj| zyHM#$=v8KVBG65~AS~#%zCloz4LLHd!+lf54Nc84{(qK9`WSHOl)Gn5IkxUPEkO8# z7r7wjRVNSdyqS`Dk+2rjt84}Z+B3uS=o2kWg|XJJQytl0ggUD0*?R4vc~u?rI?y`N zWDA?%hnWqm`nbDoxNCNIy~WgRH05jNuJ3&5k@=Kd;7gYtAr*;K6NqBFDZi0tw(F6O z)KszNi|rHF1-}N@B2l%X)1RA*ENH%-N zAFeoV@UH${mPbO!v>sK{yAT>j?|Se-o%;Fg>e-7W!BfgQ;8Z^dgr+xR-H04+Hlo1x zcDtImtHT6&4DKQV)MHx!%@KvvO}|S=ih_6}0sL=QH{ZRjL>pE9P0tVJTQDXSQr^}S z=@I5v+?M8i>@2+ib zkuV4hRa@$1P;Hr*HuPojEODmuu?8?j222w|m11^}bOD+?*4>?Fj7dp0jKd|S12C~3 zXbCqKnM@VM;d9Yib=)Z);v!-);w0{d(H<29Xa>dy;Lr!pFX&P{&vaQG*Jwu7@u`k$ z6p2z1zS3AnRIX;V6L8GJd4?8_+C0WDH&n;8oLF z51-ICK+=mRz-^}E6IG?UUxd3l;^Py=;8C5<1V70+MNXfA!zqB-&fYS=B*6~2zy19Z z{nv-+-)^&LP!V2G+(M_EK5VHj6eDVnsV61OJp@{PWG6>Ysy4Xfx>%1Ht0LRT3}Z$N z{&6PAHOlp3f85||TYAGd_}o~$`$+qltfj=qb4HT~J&j>{B5UOjHN%I6eK@;WwfP;K zTSzD2P?xe{96T1!yotacAQN1OuAEQ93kU`p2Rz2rTx=>ZEC3aQD~c9CLaw=(cop9k${V1`%fzMBo0Cx#hfTEHy*vE$M3E4={+)I~4@*~8LTE|^uT?tx&2 zJ@ToAIZ40@RUNNtxgY%3GuF7iyOcB7T1K`MVl->M;w(}$Ywpk~tr>dX{1hu} zRG#5|R{s6s8?mH{SgT+INVdduwR)L=&EUM7HM#^RW%qe$I^vLbbjbV`oVVkc3O^9fU@raGm9<4A*0#<`1Lsm%;2cEzmGC&8KPg3?4(sNp|b$Q`JU1T(!AY z=z8t5IuMp;y_hw3dZ7eq3u^XnIwe3qTQ@0R3W5jC=mJZuWSW|L&)202(-Sf(+8+XO z8A|MUI{Sk>PMzf^^iG-vL8f0e3D+az!pY@3+MQx#ON}WV>{`lr_F4` zDS?JZrwQ=E!ba((bC^w#8z=E#J&D}l?K)YQ$I^_8S8&tMD{~MU#mxFf5yxPjICLTD zUGhyz#}y1feI_*0&$R~^;gB%RdN9gK#4V=$#}5{{42LoGml`Eg5(-z~Nt{~ClFP-j zvPX-voDnZE=6OV#rFj&U@P#R4DGSAL!gkidEH7cDfMbZE*miQYCS?%R!jrwV?+Njo zt^i1#tODpV;IU@r1Z9@1$Z9?VDp5GIHJ|c1IDSBf64$QWf{auX+~*%yD-JfPa!!F3 z&B9l0$}<&G@6abZQ4}J$DPNrwz4DAtcb3GuO?sR~P&)a;EXYzY^YAg>bryTUIJIUt zw07e`=5IsGg9QNt$jtqbV0R$BZ;@K6&57u_+$@y?H;ObMF_C@WyIHJ4 zuh$@bYeZ7FNDX0{SDSZjLu<5^DOcQ*bY2K9{?By;w+#`cYeSKP7OGh1VkG&T*QEN1 ziv?uEWQjTH3Q41rL!<(_S(u1fKx#2>TkMT98m~6=Ub{4;a7mRiw-swHg~DyARmwrv zFa9!}{xSRlFF}vS63SB8+RhMf@`vP=lbZ*D!~86ySV?Yp z+on+ZiLlBCvdRYwtK5T-P!8S61}F?hGtQYZzHi~D>_57IaM1z)%CZH@;&v&^ykrim zA>YKt#1LRy3j|>lSiMEZd}%F*!B}FZE`ghO_H2}O3LYjrS<-rr@mvp0Si9g@q`x~= zv9fDPa9}$JP<4)~p!1{zHE{26Fb0RF6RpDO_q|>eQJNx}k3Qc6K3&{fOL5McPf@Ac z6-MCKntN&IMI*6=FY?toj2*9|+KIe+P2?-$NcC*?IhP1(KEASv9WZrGFomDPZ}gUH z2$dI};@_VNXnuJ*eY2t>^8r{(N0r-$EQ&ElGu_|;3JTMF7PB8mvg&sUSpPm0Sr`W2 zmwDm)A{THzsde0!Dh;^0MCi1s;sFjEsu-A0K#r%2uL&A!J_N4Sn6y7l7mu?FcDv`g zR~waLU)eovxO=#&e&3^egR+FotobO-nrFy>)QM5K3Po_Jw|N(go3qH|Mq?SN?8;|3 z<0yWshSFB!3nq0UXe-NcGboTD?J!OCPD{<27ri_C39X2W)Vt`W+d$ci|B5;>yZE_a zvBINknM+wx(~dyVTSB3@q*NjJYCwFdq^K$YFFah)DJ|!UL|GPP{6oCSeZ# zi;m8$Jn_n=^3D^lz;L}uYbX*-0FqN9lwrob#RxYW3=w*+u@^b#O5(taSfnmyT(sw0 z*}X8r^fYm)EuD5{%UoZE$bK+1)Iys6f+r%?clun*kH04IV=eIA{CFKRwE}xbdi6z@ z{pM}y&D$^g%__Zl%VocLGQEkv=(5HMmCpW3nh&&VQqt0hH4@k@a30&q=MD<#y6%8w z45!pA^8)7uS|^A#&J4MQP}bf|>%n!Q&04Qn7ZAOob-Sz#GtN`7%lMdg85f#Xnq&j$ z#RY{#$1D_eY#Q_W*Sc9qf`x>D2gQ9mwIm^=-?H%+yf*xO^bbw3-VAGi#Xy6A*r#Y2 za}wx0POIw)s9Z>ho!#TibN66e_}Zg;gVGIJXp7a}()_zy9T(;^d%HBMq=;CK*}m+02Q9$oL+TTx||rdhb(YW_5ag%N=3OYRFp|Opv?2RNxPb~nZLf~zplZyzB$ zH}V+Xb{40gU4_@n;%ngb{Ex#?|FQ^CHSmcg2`A5koZ~oNB*)8FBgW+Dw#!Cl?A8Nc zCqt0+gM8EzuSsv>UN}xjjwVm;GhhsvDOrIhUQE~9`K8Tbi;;BKT%O;D>=TUf&DmjW zChesMmQSg{jU{K`hCCbR>CA4UqRIJS5$A2CG6E3vjOiX@yyt)9wFXjVS4v?D;jPm2 zoK{`F77;X=WQ%rAbfzjJlsVJyKu{u_UbfAemgxYj7$Um6FIej!!Xg(;xDp)6umn>X zlY{)#Q{@7tT_f)R(?&=xD__EqyIW}b?Pos7ISQ;yRp`x*7|1(k>2;nED8cJRjc)OD za;(~9$Gb}ta!+XNe2ncm3~O~e)IQ(BiM$P8@DR3ycn!^6>#cMjFRpqMUA3-fma{q@ zH5cze!P$O^CS3s_WkUE!Xh2YCB&zt3-p>=3_IK#Zgx`zqU97X0)G-{7amxloi&J23E5 zapDC()eihXytITttmUFOJ30y}?EKfR!ge+CHbhvLP)eHU-ONwB9aqNu6d%!TqA#uH;kBPLc*UdMQ zal!RsHKwpSd776=(QCCwie^@M%d8f-5wlv!reFldZO5LZNC~}t4z&hP>9!HnlfssS z>Wr!GF(dOmMDIQPvc!zA=aQ%sD}`ke>=2yDufU*qAjJXn*h9yOS}ru5{$o^xOwuuX ziHOpIhp(vluOEtK@bBzfh8$LH^KoHzM0qtxGi|8lokw2M#~W%0t1~b?OdoSU#D> zW|Ipj%wfOZ$Fu0ylDUIzxo3XdvoqRUp3k0Z2o3&}w57I%7M32kR-%v|F|6KluQMiK z1xhRvd3uU_CjkcGXu!fyi-pwQf}G?WVK#Rnctva7Tz0LY_1o+uxK)nHUT|wRd*`tB zCIfA25fHrzLdNJF*6YK`XH~zJ5h~?+_6DZk!{v|MRAAq}4Qu>FzH*yDm-4pk6)z?@ z21E3LIe3sN#6oaDDg?C&qtG5%t#y;4R2@V}APh`~Uqm`Q*!$hCk?y-J5}0VbjGPq9 zKu&5ob03q?I+9w_z}oMWXD6C1{fO44kDxZMrV-?dOLO+evA04jVx^yJ77NPpLg^&6YpSjR+xFGU|J)5^X%B9<=SU!LqsyD!0 z_+STM|F8E!;O(OlfDpIh4UhEUHEk( zO6jd%((5vedksW%qu^tU4$v5`jPN7P@i}p64*NY(u_4I)qud{}*9{hqH^)U18Oo=^ zc_4@rZh{4PJkpLxWheUpvjD9a}f(r z&k&!eoyPW+|DV0L54Y^9>pb_%dAn!dd+XFol1fq``$iUI>$lcYafx3p8d75V45>Z=f3(XJ zfCumj&nOMFvV8;`K}HXC5CEem_k0v+1(gG#HWC~K?GYT%{B~s{1)kh@&7=xVYc0|) zsW0I-I9(G?+k6|+&?#s%K$j%bH3dV6HKF8=A3DyvQt!N-KEorc!4IH5BFG2^n(%*%0cWY{{sz0|LVkdHi z(*`Z)OWt6Mn1-3JSr9bvYD_YSs5^^`rxb4HaC7U;Eum=F=}SQ9JXE&BpcK6AvhIeWwhR_B+i;lPJuWnowJWgqCT0UeUao znCqaWc{S#KHIIcT;tVJN9NLpKfGB$g+;9-Z6dZ!Og#%)QX|jML5C`iCAgFoa!~l){ zXJiBx)v4lzMt`@zdD-lfCUvSgzzLJg@hh)Yfl9_jhzQ^(-*!oH*z(lO-!CN#5SWu! zD3C1@u^lVaLv#Rpb4nX#Gu#^UO?fA-j$gcu>ZGyT>d1R1T#FJ81!nD3D4}ztlNVU_ z@T787ud!{TYp*%y;VUzZ3=cWYz(+kG;tLu24Om{CNKo{(c{_s87&Vh4?`h4DeyDPW~LbC!rgG z#ABgbXoS-!qxB^Ei^vz+tLp#q$Pe3*mjURV?T5l_Kft9enGti0>x>93I1$EI{wFZr zSG(D4j)Yunmx%iaVFi`!pH5~#sZd#sJ8-9bXyGW!(j6DK+Jqr z=TLD7!9c&Ro>j7=h+H;uqDQl`sWj(eVUJYRFT%va-7XB9414#mvC{Tl<1qqD!ch%b zPF~lizEx&ZP*o&uj_Wmb3Exfp4D#3Ys;5^&$6JsjW_47YT)zPtd8WL3?$ORYgC}CA zoLxf@RuRjT2;h^UtfNB4*5C*gj`=lYLSq8!3?>f^j;!@`bj%Q=+Ty(Kp%v6&jI9!} zB4%Y6kdb2G0iXd4cRlV{>q3~;I2Hp)U|_x7XhS#?@}<#0oYYsajYgHCepXcv;x%Q; zlp+%kVC_vC$+ES~Ir3x<71wB~T%zmX2B<;ZqeV!g$;E|CfoBi@JDCA4)I30N0Y zqQ|I;MiiH}FzV76V97@SQus==3%0~)KB=WH$sE%+%6j137!4HJ5-4ebTj03tp4vFp;)ChPiJBwu1!WavONftz6+}(yI+{z2;Laq8*}H-Eu)+u8 zM2L`CZx1^fF^MnDM341ZOo>w|8r>7^X3~f;I>Z!grbS9ICn3wg={Wit>nfIykOD_b zp4d+a%c7-CoR|^O6nS*6x~0%-EM_f4U{$$6MNCDWV)W#EXf@dOzXJUMC>uNGqV`G3yt#91n4 zxNuI%>_aU>;A43vSQ{M5vgS1(`i+nGZ$V#4@`gTsySf4$(yt9apJj8qGT zXt`+CPR^gu{ayMwRVKE1$r;QmM`pWhML~Na17rts0*mn25qtG4dO6mw@my{b0wHHH zpedxi86H7F3>e&zlq!`Y!FqfJ+3*l~wF)orY!ze^58De13gexV37UJAL|d7rOI&sflbV+WMuB0P3o19GPB*U{$G@rFG4SGHnl_R%o-f$K0k3Bv-F8AV`IjisfzYcwx-D&o)ZCY2^#&DT@`!Kavn9dOZJRs9D`?vzCb zj;xx{P)YcU#4}VovKdA?Fw1Q!clryP_0_bC4)6*BguW(X#D!RbT`Bj`CbUgmDjIF7 zNG7sS;yfT(g6+aIbzSbAOk|ztCo5x{=J*1%mjN^|x(r|lFo91$UnbLG(wYuZ!tPsq znQi&f52TtpYhs(ENWFHRJo3w0lMzg#rSXm4+T_NjmZq>wwH=V~D?tG$R@~j-TP+2~ zl``RvJkq2XA&7S~*i1666<(wKzVUmt2=?VZO?IrA7I|s3og$s=!bhHq%Iu%6I2ZvzO zVhTy0@VS?^3mb0USl^$W(ZFeI<_{Eji2m&^omL-p8=gn)!oJhLlMVNmib(t^bV7RL*!Z( znB;^_Q4J;GI*AZ&wTS~jQXo)b;ju8Le8vCubUw~J2s6>kqft~eVUCBIgwQf*NX!k< zIsCRrYV~-!%Zy)DziU3zd4XH4E$@#qx3 z8p_%lwq_2a(pp;*{djH)>| zv0!oWE1TO_vbaERZ#F>6*!MYu{gv38JSl94dH{PnF}og_y$7&&yI^;wEWL1}H1OT8 z{D>UMWI(7*zGdx|&A6<&!Xmj2*&^O6g7+w>Q#!j5Fk2}-0GTGsM8w5=aU@TPn1dr8 zuTZV36k|%`*jn-vET#4(w?5)%!Dy23i+pf(LN&m@ox@3S$-%knY0{i!;c==sbeA_* z2rzuk6k}Ca2e+NAtB&6-cXbq<+SJwb)Lq3M>w5FJc9oEARsCnjcr-;|o(fkG3YQSi zgNuXKL_~}eM5N9zOAiq-u?7)2Q`DITQ?Tb?izWmlXJJV3uFMn~z_36}>p3!4)k99= z$9mY+mDejbtmT(5ew2bvRBF32dTR!YZ8FMGc@nL-GC1 znTOuoa%)t98^;pWml>gg76gYY9Ak#b2`&e<9%Kck z(RUTfg;*zu=$)z7!55Rq+BztKq5((M3BB+?ty_yQCGf+2$N_qj1@16(3gbDN&NQUT zp=oWIBX=X^MU=pfQBYS;N*IcB@R=!9ne-mrG|1G<);IcES|=1eiy!GFdzI)N9Z}Sn z)N68I)EN4MRp&5|q&wfBUD2d6j9agND6gMaJt-FJp}aV}_@BLg{NQ{>I%?8GG-Zk& zz(e_h9@^yfmz^F$qeu_Igi<`r3Ma2$Yt6#z*X+CJnkYnM+A9Wf zuNTSl&s&wKC%HWT?g=Qs^QY{ZItw8&9Nutbd}Ovqq@=)&xx`NHYCTTkWUXFB1gzC# zn6ph{TK4^WN3d}uI?)s$NQ})lvTlibNZ&x9bC+N7Hrrm{cu*Z#8+vfHaMTNxmn*=e zk@aZD-WC@#kE(IfT3mEx1zMP>u39`16CZeb+)m^cSyipBXcMbthkk{otbYlbYW5ga zL_2Z`xm#IKN+LclY^9NT568FtJ$o1xoT-P(B~XNf-I3hG)lEHIbq`mUdbs-c?jcT` z4akfEA5MO(&(<6ku`&xl%e~rREVX`h zZJM)J1B=OjmFcyHL&Hz*pfp@)NO7D@DR^31Kts@HNR`^uC0yfg^Ao<08$gw(5s#=T zy-ad&u1oZMzS7ANz&r}sRKYqjTy-Ish(9K}kHi6}%tjK}kibDvTgZth6>XFD8OmE- zclviORcHO zGR@2g7(6j447f#r^>o=Emjfz~Q>d7TorruR#pu;dOHxANUaBJuA#ei#RfIx?nJ2G{ zm50W_**>YN7ukRbr6!o@6*@KPE&X^E6D&!!Ve*2UYDu;7J|^m@XlbI(BmY<@>Xw@m#DKb`B}|G2fPTPww-5lI zWjtkeRPXSNhO$u6y#03ijs(Q$HvB;XeDjKTYfQuCfsgz;3OFiKaLClv`5 z!JQDQ5AEH93vxrXLRUjjD&#HmTzJM}DT0zT!l+If)_BhkHN@8JW z0BM8mf{HP}48mh)fWpX7VbQsef#pE0AVX7uOUOu{8X4O*PaRaCX`NW*m^Ry5jA^Di zjEs55;WbEO+%oRCWn6Wh3B(>R&8~i-XF``P5>XBgycYWfPC=tqkC}U2NXD{WVLxm3 z6HgI(<6+-x_KjX>gy0;OkjT|a3zrN^1qq_)MI=bfLhAcw1*RW2`;lDf3lsm8fpWl1 zk$F{TeS!)oqOjzfd(^-PU-`7plhV+8Uq!g{qMS1;XO9 zoOy_<6{+(?VuT#YY?{Fh=tN`E#DMP-i|92OVII$f$*dk2lhuEd&WWjb>iv3YQBT@S zKA2W)D!D3JQMxFtXSWY|Pw87k{vxB^csSkWkkAc|`%U_C}kw*vO6y8o55 zUL0&a%iZWVWbnZO8N)b5%&d5!)&qzi?em5T+3gjznrmAbm`&!JEeuL#OduHam zvW(|E-OnYT{0tek`hJD)$=+h8QArAKAjm#@anA+s3Zf$$BJFZeueF=tY@WPV3S4nw zmUm{@8nhZA6dILb1zx;uAeq#{`tr`W7e=FLXWTvh1MOW_f&*O0(7u=p z8QPcNns7PDFFfzd7>R;^E7B9iVMhK64Fl?GB$rhN06hEzD%G4V9^;^XLQ|Y1O&Lt` zujC8OHmBjk{ryI)>;lCOfdw~GUo{(2LW6k%_mSdI54#^L^B-dq_fc)v2h{TD$n0|E z?QoB5Ak?&%NMpBYA z45YG)Fv6}{q|(Wj6iEz)xs_0oyN&KJkq}ToD~k`dBNEfZ&WU98+=*lakyxK8>roV9 z0HKgCO9183SItB+&6YLZV$B}BWJqXVUaXyvT9?;aVt^R9cXnkxy0@M^87{age0-+n zV&z}q z3IUL$IA3dyt90JK9*_X5ORv5}7b_uqWD(VKW%lIr@Z_<4Xc_r}CvWzrzBEIQ=|L5h z_70BTt3s{el{2qE5VCQBtGt!6);3_X9ONSFeNyj93oP}WzGnkApXwdm-Ot#m_)@)6qEmwQ>@4mMXHiADt*W=%MJ7jIqD9t*$d?hGt%lo* zLSc?a3Izo_Wg=JP;$`8y!FbXesN0e*D^&?mCRHQFXUhg#Maxk{arS8O+h$qgwKJJ4 zFEWXyeA!xF1_2o)Xb;&#XOjG-S168*@C>0m_MvS4@w`Q#J;%GJ; zi4CgcygY9qQNg&WPz+r(m~gm|1Y$|1kXKA!X^O%hS(LI$601w8 z8=C30JVTY*It_6cJQ81Po=98I#EN$s@1ZlSqxn^ zh*W<}+e9`SZftM#hfOS2GdOEkcac}ZqS&9XHG46y`R%%*uP!75U47zdeNB!cIdv%p)4jw&r{w{nUr8!kq&=$oJr0`2(gjHkiAvOsTAu|wLseo|NET0E@@6p) zk5aU0Ch(IgMNnE|;7cix;<%orB%cNiW~%2OM|_Tv7K*Y+hpwtO-65uz{vgCU#s&2{ zAN##A0YJw=Z$w`t#p;}7WEfP)NxQ=nfeKt|2**}XizA_x=-uvlOx!M{ovR5#d8%EW z2I78frG#$MoK2}&%y|wvMPkRkp5?HO4+ox}Ct}f1F&(5+9dL)?h@#6#cfhOjY_~~O zlWK@mwV|yBt%wVXOc6-tbw%be?Jz)Ta^eDyf^~L5L^2?G*l30UwRo< zGOd$`7FRhL&b|?IA#KYbJcrgI#P4z)eWHTIyg3~&?YqEO)QJt~RuWD%zX?+XvpPOX zyqX5|AO)~J0!+|Y%jr29R~P(*RB$kP3vQxpjh`{k#ikJIqbbQ!fJ`31p$|gj5)X;X zLRtWBc}_fJOT&g2G6GoWnibBM(I#}M=L#PpyexENohc?IP^*tQu*7c5k{fCFMcXzJ zyjj|VZg~f}_;n~Q*Tm(zxG>!M{3Z@XY^!HpusL-De|pa*QMWlI0QkjBhVw8QCN0u0 zgd-M`rb|>v3W}|UV#;MxCE24@A~Q>ssF2M>wV!^225pW2OStwwTnetOhH%E@?TU*B zQuGe~nP!gSKu)O!Mc|&UXsv7yLt0p;4@-OpSA|uASJTV2uO}LH?0%Ri;x}xb6 z>}E-*ih14qB%_X}uyOLZ2l2p3zLxZ*Xn3McEjcT4j~YZMtyNG}KOG!IfzUp_XhSWF zyzH47|GTaLIUkp8U97bWYBiU6Pu~aJi8j4VHCJ?2>pEwX>wB@fHLbp*Mfz7y-gGpw zr~suaH`}c>%&uT^{b;+-cBjwy=-fUN-;hhKCgWQ+tIOcNbNX7F9C$@5fsBP3l>C)y zpmPE_YX%x;N`unohkqWdPd+warDN)Jzj z%=Oh=Wyijft1M&!$U5~dD{$&)h^d0fy?wdKi~o74;rbA=Eqnce7k!kIZ$~+L09i*! zA2j3$4RU1O!Ai_>a;q2VG%AN{t+%)uOXYq(l}q&=q-P{zF6 zFQ#%tdD5`>M(P93qNw(9iS6I2>XT;wwER#O5br}ZayApiWH(A{bi3DVV~0tQ!g|7{ z4MlM-EU^) zHGQO9;F@KJazki7tR?76m2mW*fe0Hf6uehkRBw{svl<;BoL zX#RhunZ(G$j*$r}@SeA`p|>L72WujY1ngjpwIm5*lAGM7V5+D9V-%+9s-Oadlynq} z_?-b&-9x6nw-gOf*qSak1(;YYE)AM~iXV!}uQ5u30~g~w zuFit1U;PJ(s|PmG)q$}%v$Cbmd^8C)mgZFi~@;*8R3)#*n zuO#VOc{N&=SEFs@)u@wKmF?siSbbl$){VV6u{iQ_rFLmgC%WLH5k+`Cm;XYg$FNm<0t-NI<)4my5 z2x5$V%Ba*1eAVRtgq1&yai?v`Vy%tlVBmJVM_F=uOlrT(F&R2esKV-7N~rQ$SH6;w z6%C}hvC_YQkXPFEBew7s1jMeeR&~clBDkZvOHd{l=iq%7@O(n7qi~NKcvVD+d>Pfg zOhDjw65c1tN2WY?$ZDlc%SEb$56{0=vc$anS|@8a83;j4ezQcxf66c&VEi89dKuXxT%N!MTwl)9xARjO@Ned-z4{;I zdNJ1rxYkj68l`8g?}cDDnB+RdxX0uTuJ8i1o}~M5aT^aE(NfSxgW?}OGNig6BRs)X zZK1>buIj^WRIJ*y-AbH--3W91eHJo$-AW&-sg5>piL-;kDbS4Sn!n~Z6>$Q!Y9b3j z?P(GfcR<7u4@mEsOzvU71NF#mP8<=?&U`Sz10fGJ&oLw`fO}8(vx>JRK=M1hho@q= z0|FwsbCS4vcT@|N|&N~*-^y$A`lb1=}ks|ee zJH4W*W3KB$&a3tb2Ton9FFe8Cnq)~T8BZtiDq~3<*>&q1%o*@p z6wP6u=X$ttLg_Scl(+q1e>>tqQ86T_hAp)5))TIn$c#QZ2Z27i((Zk4hJPQk_d~WE z?PQC#mJv2tfNx$*6FiVnOD}@06xhrJ2dzkTS>&W`FI>ZHf)umdxghqk8pgh;&;nh! zK+;FfJ$!xGa$PbI*(S-(*sD5tRPs^VhpHei0iqM>!v!G;$`O(3LOlJwoQ48=&0Gu{*Co{ku>Q;()jHPcwlbY~K?c>(Fu zWltUoH!=yPJP@*a^~`rlsbwihuq#%C*)>TBW%D77!rSm*L3&Do)X|~MgFl})f5X2& z&YL^msg$ImYJT{gdGoXUyQcY}ccm<)d&yeTqkkTc6m;@9?(7E|z#>58dUqj8!^ zoqKLfWsJaCRv~9&;*T&`aTshcbr(}6L~-dLo!V$Vd%2jDej#k(Y^$qS2E>8b;xq;; z6ehErL}jT)vOy|w-O%Yns~&@dm^0BZH>(AkI7CzFpu$;dq2cSIVOOStxN6nBHJ>Vz z44}Ds)dE>=F|n6>hr)&Cn8}i4V$%oUO^pS5WET>q#H=6@OYJWu+Q(rf&XC$S&yeDl zt?WHdq^->Pmf9_2W14hEr&qt-{MI;1y>&>a9jgy)jkeIRP(qz zDmrO;ln)7u-h%qkdJD4S!&{h3 z>P7pT!R;h9lxI01B*^UMvY=Wl9AGe6n&B;6%2nRN0hBVA%ea8+C-C&qyoJl7bRDIq zo4ti$$Vgc?B-m@Ztd*9GfV7|B62XtoB3*zWE%QRMOa_T1xzZqbsdt? z=1OD_N;b5vgPccP2YHjzgUFpy0)qin>(eXkzfirPpKf&>v=U((*TD-Eyi|(!8%g%r zb?8Z}%XRSE=>^T)br@}S9hhGW*MS=<5gHatN6$>xccE0pF8>fn0uV?>elctZoWK3zsDcot%j6T?fOG+v^Z_wNAv6>p+H% zZILp}&%tKbLDOwB9kwkR#6q34TtLci5T5)7h(d~#izt2yAKQeYjA=$m5kZ8)aWZ?7 z-ym_xySd+>1c2}x2KE~;$*Hcb(tZQx+KHo^{Dv|*&|mNyB)>bq0Z9`JK5>ZqcA`A9 zkD(Lk=Ue@T%i*?Vzk%u&{Dy(`Z;ju8U!dMg=J(|{SbPs#^f>L?>D@*{b4Nx1V0Gq>{_mK>eVZ-_&Z z7$n=p;Wx;7k?k_D-_QZvl~Mm067^prqJmTaFbQD%m_>l~Bl!)jHVS}C$@0zGNG{;q zZ%C$t6~5fNoM9q^PncJ%Z{|(AYUR9{7pJiB)H^}LlF+|(=4f8JQ7zhT-`r_xULI z^Ug=PF18<<-WsF)+-|?(!BxaVRn}Smb>L?%#tHbz%nBe|(|V$ii3%v>uexdoF=i1sWcwK7$-7r6KEy5NnsG>Lj02rv|b4& zBS+&OdZ3j(9AtlAQ9I&FlN6S0pkcwdHLQyZXO z0quEyM(qhPfv@D?Er#g9O@^o@`}t%VpUgJT`G3JOgvVdB3}J6Hx|kvC2hI?V*l8GP zO1ec?N7T2=57xd&^ZelPIpznC;SNnPKIZ&j=Wdf9qDg+)o=zNq!<3yoy=o~xc&qKX zZGP|*&zK)9Ad~I+k19WSvx=H@4wVp zzhQn3o7f%;ux7~+SW5b3t)X5i^=?Lgv-+HpeqHjcNxzY3vyk-rB``nFXZt=D^V3^X zZJX_T_YcYZyei_L`Gc274H5o3v0` z$Id9R=3YSU3v8E(_I$XWTSd1Rpo_9Bz*J##LqE7_cjYL{R= zTmmJVwjollUwfjbpMlY?+MzB)`ot6>m7%>QM0&`J-nwl~x6eiO7NygRn!5J>uWK9R zQ+o12$)NSx33ikr)n0KCC7BLWF6t#LbA`6|2_+Xf5=#Y1U_QD9#I%j$;NWtSj7pcegb5Rxu`;CyNvA#+{a!?9xg9l^Ifg1 zRC~K=?a5X8if-XgsOfg`nv6NE+>$}TmO$;gn06UkDFc+?xpGl0w-%SNji$T#dR;~K zwYie)EgNJQxu`nijVB}LqPBr0%9v*OT35FYM5>3P(KXO&WaR2c)-0}JOS!1c^f_zf zVIEmyZJBp1o{cu9c`Ou@rm06KfRDUa4JJFxYtfqbe7Q8X#y4_=WIpfn>SXQG45e07 z?Do@>RCuwnKgsJ9*7~uGEo#t%w2V!g2`(hKDk0aq0Fr#yclw}LW8gp@i0t7t^>w!@ zpdGE^nDTifxE^o-nB-0;xUQvzaWdDaiUij%E1EFPjq+f!k*}ysUT|($yOH262389#4z_`~Y zC3%FtgK%Wz7Ro?l)1i*39JlOOWb|{ zTpHjNYIM^7dH~#Ir|Q78^<)D_2CJ4}8{n>t0gmeao*AqNk8{sp#W>O#!Ky z*R##K4Av_)XRu0YL>$L*T)GJ==m>Qp6kT4B=PU{F$M`~Wzt$&A6Gt>JXiK4hMdW| ze$@4Gsj)zhL@6h^)A_TkkJ~@bbLEypwiYesZ34FCmfaj$lT;S7SGCIv!`AyEuFrZj zi`iCyEKS?g1f7yWFN@jM%Hs>(xmwH`&CX)Bikk1{@P)USwGvAfvrJ{|UTxDrL~zPe zEM{%yK-^ZT0$9u!aKU1h{rnJL$Z}R9flOt-ydu6lxXEIUMGe8C>{@nC7PCZsw_b}A z_}U+vcXyaCR!yQCV^{0724OKT?e1{K^;$u=SeRO`6}vl#SmMD#?6x@kXwh4Yz=+=3 z)Y^7;2h`W*C0a}>ShJE&31Zsi8EJQiM_Zz0vpDVUuxJ*m_30D6SO&A$yE|+(i)GTP z*`>^ZLt*K*8h(4TIHI>#V)R%BU!>g~bP~i&2OiWHotR#PHJo;L;3k>H7uWkG7xzms zU+E=XR1jvd%g@c?E7=F4GmF#i4x7y4s7zJGi9t4tZKQ`Kh=nCs&S(}(NVI0LHfC5b zi)$H?HhZVKv*njm&K9#cjA5C@Q!0_t+-7%&QYI2^-R31)j#%Zg^91Vh?hX)pke;kF z>X$g@VuP%g)IBr%CYx<{chE*4AO&hu8BFCZmT}tMAuQuEEMq%gJz2(fb2QIZ_f7yJ zZOJmeKsRZ(4)*5Mcp6g@sSH`{)#1{~GM2erZpbpe0Qk%BP9byKu~CBt@q(~pwdjY% zmTfZaa_Yi7DXq`(9kIoOFdL?M)W`yVU{Z~jCd(LEu(0$?TSl;o49l4GO#0)cUo4rd zB81;<3BdxaggCYWP~Y06UujE;*fPTNkDIoP@cs#2`lYFq*5TD;`P_L)EWLT@S4stl z9T>VTBQCViY>ndBGU7tpq35<`1UoQvTSmkk+-@1+ z^MKUw70^eteb9H0W;ma5%ZM+D;hdcNuoGL)2}8}H*2md!KIe@k9+TnxrQBHJ0q=^f z{jS*ttt8a!9bmNxkWh_n(Q=l>;`~g%Wn^%$#pD+TlTTt2@vAp^Z68UQ=_F+BUdU4H zKlp-FdWnVDrm8=(Sak-xan!@C_pB`a@2krU$|{D{CV1$Gu- z|FP;Wic|RuiWh*5zi;ip{}rX?qq;UYpXT93_=Ru7ANUS)cGoPK3lOf+K-WyG?Q(jXY9(3&+ko9 zY&=CAI=cn+pYs^~HN~PrgJx{;Qq6kk$dwIt7}LgTe5$49D>@goA`szp1bRCD6j}D<;9bO_3 zQ*2#&S)Q*fAvFH;Tr$5|k91TCMu%c9eQ!w!SiN*4$&3g|chIKl+-4gXNJZTZOTy>U z8MM&Xv9(2X8$2yyaYb8imD3Cag1Cf0RmEVY?R5fyUc9n|z^ZzuSs)IsnEX_t!nC3N zK9A!BOs@hOJGJ;Y3Mv)zaoXQK?YEML3labtoV>y3olF?R0!S7F$8Y+hEkYE`Q87~I zr^?ipC0Y#5fupwiX4&LFvSIw9^gLT_KmC|$;}Gl9S%C4je)VA2J-M?w1mic^%1MXN zJuS|lW59gwI4(qcwzV@T!)j+BcJ;fHjJ_s)0{K*_85)}0-LL+?%?O!Gxgw-oAtLpe zJA4t!r0m8b-sR0_I3TYlJp)W~SBl9G^k+8p9}GS^%4n8 z&a)B0>PUu9XF8HWN6^k%T${FQ|C+>wLv8i2j?1CAToae;;zHW2aB&kCdU5&%*A`!! zd?!6d?~AdM$ms>vbf~@U&wld=VKqV_iF4V6iminok|V?93=h?_aCYf85(gnbFO{hK zEK4J*SE(FqTb6=;2|!5<3&72LXE7!mS)=c-^GDs!+CPitAoh%EOcfzq&Q{UB^d&Ol zF@8BpU&@AhENu#*t-cK$`|LVSE%4bL`Q$yKLIk~^RMkT-)zDuYLqBBbZM%sjKB~>D z>R~#CB5(eb(XhR&D3*pMjOqoDjV~o+*gRuu_G5g%>ZF9 zD<3`9KbaiQCg<1X$4(qmf8^bkx5k+!gwH6N^c)t}oiUN>K(A_8tP z04b}Y$#?eyH*SOE-_!>7Nwkro4D&X|O4!KgVmo=89|I;T>mYp$wK&+I4EOqCeO`Lb zOm`3@efn71BPBL&WFCRR^duabRicmWML@c?S`oQd)w?am+3bD!WTbGMGqK0Bz>o!0 zPxB{}ms)%%gby*fT?;573&Kg8!-$H+Mt!l7mIcg<%Ni{8P8+UiKS0+4n3NLrN!H6c z!y5Tk{rP4=4RulOX&JqQRji_Z0~wgkjCh&&b62GCtaSXTlLOL5u8AzcP|RS8<3<|v z*p_EQ@>LwV;^_`EkRojGCP5$glQ7xy%$Pjk*cEZB_*0y<9=zxMu-JcDyvNRijo4BQ zy+B$7c7yryrhG2+r6?mHWH)KA(vbbL0(?}7Es>#;QjNL}YkJ;3Il`ua;&6ea25M|; zje}^cC0lUQ9Y?c^d+}0Bwk@4foF*i$VyZ7uuM+5}j*WdFb#Vyv6Jmjh`@DIfPC|(Z z_NM#}4Vbu)`8jXo$D8sto+*Yu%~usogY0$3+#llZ(IMr)%N9}xni3PYAjZkUSmzxR z!vzLW@IYaGwag(eG-@zQAmmXA7btk>4xR~1J8qlA0jXOxO4n_I9F1;QoQ=GBU=UrK z2ByF5z;L=|8W<=-l_*PRd0^7^m{5@XMfFP-Wt#`VpmeN1(WwU_?yCAhZ*Ym<*Tx~d z9eXL|f~eCB4lJx09PKfQ{=pSO-La!(c6GKN+Alea^sZ~3RAAI(K=jjbI}$Cn|1rnI zcAmW~=a?iwh#@Ct2!QGcCI@2SuXFYk_5QD>-8oX?^?%cAXbav|L0kv8CieCyH1;Imrk`}y!4Lo5*=vXO?ff06!sMCq25SKB7>9> zkd=}iyXh1p3$sfz(>lO#gO}P4rmnU6zBs1n&SkV?Y;s~2W9s8!p^|tln$%sqW=u_@%BxA{A!hU0kXM`q zdFE%YAzJ7k$Sc%2!Z6YOEyybZdFk~QL7sQhrT$_Q^3J8tAVHLeweSI( z!khVI&LBf6Kez_D0h5HQ=Zl24gxK1x(3o5hq9@Y0OB4-fot2_Bg(iyL4P8dwHv=-K z=t)P>Rx zie7(2uY;m>IFjh9*}p*1d!XnZPuHPnO$y-z?BNC$g`(TDnMEs3n_I8fBt-VQP6Wmh zMUPsFrhZfO{%tAxjL17Dirxl!ixlmwO;EE32&j(HPI?3QR)Q3Ysdh_}0 zSaV1J=MLX!AJA( zahf$&_&A{?dvdXF5%fb*D-+~cG z6yhk{wk--(uX0U7e-mv@e#|X=ue(pLbHY(S-m6}_869ZD2|3=XwpuFuK!5r7@AkK8 zj`4H&UU2pOhBA-Uz!WgW2 zyeGf8h#pn_Tm9+-9;tG9%;5u%d5X2jb=0WKgLeG>43VX1cTR}F1To0FnJZoFrwxh_)Uw<@km12SLyRVaL8b3ynUiEf=>=84vB<9As%me zpZ(_}=GIcdBJanE-5~l|Gks*gI(AwGok27?wK5;WvDC|(wx>@C)zabZnh!FxSuSV# zQJUY>{p+ebjiow!QhCjr7JeLhQ}sRR&DB}WQ6n8?;30MQ97kO(5Z!|be{VJWgnVD* z#Wc-f81C{Y=V@Ll_l)38ax8%#$Fk~R;rEg14#Pr>KHX&PP0`-u?M<(}DchUxYHwcH z-h5|!^MdNmd&M)W;S-J9u*!Ifv&R^HCbtXIu-Wpn__yfCYeHTmteMyn}LG!J|jgS(I}QjBe;MSJ$1rjSpaNwHF`0uXh6qB(W@ zG3W{e%Er}Z;36|6F{vuFXi0=b;kxW-s9gvOQ@~*pPNc7UsLG381! zUhH<)Sv+dGt(0rpq3W&Oo~ftmIG&N>6y`6c%`nU9QuLcU&Ho7(unDMC&+)WLs|tr| z1#JGZdk>GUGyvaghhR$Yz;TZ=DULaU0X*|bOAP^jwGo*EDuDu0q~vMa*GR(w4%0*v zFjm5|n^lvMZm%&IaxC}TV+1OY&s29^ZG3Ssjh);)^pRZdtYk?KDg`g}RPhW2)+R@i zw>!&vhs(nf^r?{0c(b>k?_;#p+Eaq~r6THlNwI}5*%V*vC-^|CC>$W>&^5=?4i)>& zDm1k^W9VdYmln(d$)QexVzK3)n23sbRDwn297Y)O)o=>3!!ht_+1tF3ml{MubC_Ei z3>2D7EGAov!_3Uny1IP;Do&_z3j!-qlwi{EFfRF=;Q&eA8eJzGN22YGLR*kvc4Q6r z2Dk3oV!u%uI$y2grm4(+kaDPqDIPhIi_np#o#i^;77>P+=k(p)73Vnuv#*rQXSZc0+cncEra(dmY zgI*kj&pqR4GqLPJQsvF*M=tkoBo9DI78Md;r%&(lV+)`S4gZN|*GV-uJWA@rF>2yC zF7LEHW#LX;!Vkq^sDm_(Ik&(L&BZ**Pi{;Lh*C0jrMWyM+ZELbyW54xG_ef%3?NZs zInci;Lr)ZzPXP|PS;E(;W+*75pb4NVFA$*BvXDn&BO`S zf&gKMtLzhQkkgvg$c_-o(1@~ae!a3NzM(i|D7Ou18NJ4wWINg{-Rz-lFt7Q;z`_Zd1#%3eq% zhEFJMr4mH5#jJqKYo-{iXLXQDXk6|{IZ=1eugY!iHKz*=(t=28t)g1JcEE7ruJ1=uO#r$sr^LymyaMLCk6z(!b*Bhcw_D(_po z%;iXVe1k7B)g(vqR*qoDB{?$JCd9=J%>gS5j2b|~{;*n-;9)>#eN7};#bkBgT}$0z znn5GS*(uR0E+cgZ<&jM@#1Snbjx?=B#&(f@gf&_M;fEigPwt*GazzSAF7d9>G^zUk}QoUT>f z9o^k4xKrS$d1ZU^YHmPd*8J&1sSn_{x$Ri<5a*!vZ})n+hPp-W=((EZFSP#8Fp{vG z5%MfM7#zcH%ao>=Bw+K%LjgM-dnj(9Z^i!0uVe7?TaM4mN>#9y$@5r(fj(f?^C5z} zFBMrF?oe@r8T3y+#B@Z-Q&T9%kmYKac@eoDnv6n%-?FADD4ApBS`IOL3UZ?c&cgY8 zLrd<-_Ydid=-j(9da*0mxp8gKm)NtiG_G z$t86m4_GU(vcjmJD+%v}PO;urw{g2vlOlre)a4KF<~9M4%Rcz}tH+@&>t z%nbDR4=-_lMR-g-%Rn}fw1XrmB2zN@0{s0zl<`&GY84qBrn4t#~64N**q%n$mIB_~SN zfU!InA(iMN9Y(JR@5o3)zTFI(`p=QOj4edNqWEA_P9~OC!GbL}n&B}L3Sdv^DSj~6 zIj?6q=B34lcv%`M-#~C1bo$wf5z=4}A)cG}!s0L?a8W{rnvn4>^E}k4J9C^wCD`vT z_02Tff3(hk?ZBCWfI;KY9T--Mtg%N?$Pl8yVNRCE$p!-AudHEAY1l~5b zARM9=q<0hBXmsu-)ne8&RW7|>01J}JnxA5_z_{R=sVUr!WCApFb{^WuL#2Qo`E7tF z8?L8br5gAcnB_H!o-k-Kd9QWB^n>k&Z5>G$bK1=m23xS>wt1oPSMS{R7Dp0;d@VPU z0cg>aR84{n!J-k*m_WsmOb!lx?7}xn3Bkg`LXsudU$W%Z;O!a$mokpLO7+iSWFchk zQqr2HV_+j=s6+iR3Ohk^L~&`e!!R z3io8mT!X);H5^Iq=jIxikhxX_{g{l%Bl5tChQeH9Y6;4>XuIe>$#Bvy?(0y^|?iqfPWmz~{)#T$L>_(G#an!D^aUu?Gt)eCl;axUg} zn_S4;;<2^cEJbX$fi_XcvfU=yg>LJzv)fvx+`e(i7Ar?%pInF*Sj-x2T_Nn#X)dkZ zHnKHTZPx41YOH%e)q+@Emzwg`$CSTA5_7sA>8Yi4^C@m@{{3Y##Z)K|NI0xK43rW*joTK)k<1cuMKQ3n z@KMSxahoCttmSRN#KI6HEQUr*atR?xd?y0Js5RsxUxQUi$C)jeP#CgZI)3Bcw5V6S zASelShUd3!z{yX-J@dBJ)(NW2?#V}&d%MV!tN0g z{7mjq(Q#V}Djk3rAiRAFerhZeqouCS9VCb-I+uJ&bzwg}N&Vt7Qip^m5Oy&{6b_Qk z_FZ(4&_f!t6m=L%T~kyJlH&{%4hPA)ARHvP)k*@h?<|dr>iwb7u0R=ZA;H5z3baRm z_hZV2T`?<ww5GA}#(;?ci47%Z`>4BA-%gMsE?FsLj1AfN?f3K3KAqAn2ItTIgR7V{j^U~%HAsdA z!q&=xr1d+J?W_u0(;JfLix-3577cd-Ar_Hxa-y$YO^gf^!*D?x^XQ@=f+}2q1$(}& zN%p+mxNTrE=u8sfYeFbc+eUkSl7U zghMS$9RMU^o0&0w}PdmzV7+H_PO0p=)9$tA@pt@S@zQW zkeL<|K4G#l%!pR3%*}{wJ2S#Dy;6n(^cH4&Yesnf2MD!B(=$E@$3=#QRW!8F3D({@ zPu4&{^T`^7wPzbPP1eYYfMCuzSu-D~DFQ>NJRsTa7`85x!XiX`NEAaR(?BeU;DL-f z+dx*>+&1W8gcrqO5m>Sf%FZ^BPC?cz+Xf;sC=an1!PA5yBV|8O!J!h&T*3p8ZD1km zf@Jl!JZzK9pHW`m@9&GwkQjsHTC~hAI$Ek2MJxT!Kf0#C7hglINP@nsRHClYA0)eM zLXd^}?@WfO`Z=doqy?mTo6zu$QKGWx&G+#v~gx3B! zJKTxZawKa-H?;eaBY&~RM-Sjz<%@b78(9y=0H%os5JN@EuX#Gt#gs9XOEh6)G(u2u zxUdW*!rA;FIG9vGMDT#vV=*1lOE9Ojf66;zrtT8c6j}FXYq!iQ-irvc!RNDq`wnpc3H$u987nj8A>d`tdVdBgP#R1EizI;Dp9r@xtbSXpB9L^yHT zHaT$e?*`5N+0p8yE7cvLN_crquou&Hm>#UoRhWtRN$=X)kZaw<`KeQD@=vSz87k zhEz$#Xn=WR3cRvgz#aOcP1R$EA3proN1Oi5$J5eeVI3xtZQ|r3JXG3IhcLNn0qdL& zrTil<%40NR@c}0Y3P^W`QhCvf?|A;PxZF-}KmT`s`>&6Bm{fsCpJ!Umr>a}PRg(s% z*l6<+dFKFit?~M$LG>9+lwQ!q0Exo>a}2_u;ouOcVgT2_{wc{z?=^3ZTk+mKaXaDm zU2%(3*xVntHMj4N+e6$w5VzNG`%v6o$L%9=i|A-R8Mila`{}s-dT#$ZZoi4!(@!-F z-^}fuar=L8`^vbzjoa5g)xzufq6UWW)Y0a1@~gj2c`?1iVx8ZXL~!aulY>@ba$rq_ zAxZZ_`AB`3Owtesg_G3>Y*@ z9D80l1Rt{uEE{Av20`R6e#z<6T~?dq$Rox)9faN$n|wg?Z;@E(3j$leFr9TF&qWtu z`mZU7Xfgtje>6*y8LFh5{E8*aVR|hpJyd*cbL!a=IFo;?5Pik!98nkY7-D>Oliwtk z#_aiD6`GVRy#`TC0Y6r)QKu_oL7}w_>wQ@GBUD)NthM)`4w0$nBYG0=!QDD)ijMiW z0d1?S$7-b!{J?aOg@(J!>=NhV%Q2w`T4gnk3SA$|i1dpUNxDQ7!_;n$Q9P$UW{JP5 znkSdZ9Iasx*Tt|i46x1Tbn;Je;i=+<7L7WD5@E`_z09Uh-?5A4l+!0P^D=9$MEi@7Yj!6d)cZ^xgfl1aW<|cFbAM{f zOW&yxee(4Ty`-$-%%#_gU7Z!p!5d~$BP-fBmm4uAH!4bkwEa3XGCvcD>0{i~#xZq{O zXLvEEmlVBewh9*25!RGZdX*-|I9t_p!qG&N`vx3?jO`I1Kpk3!&zC|0Ava~84Asl8 zqT{;DnpRtfEy#Bfrm)_ zjrF+MMKJ6J6a08esu?8v`R_a?vD`o!a=*q{{<_*nr*CKSFNtBVmqwP|2Nhx z!Rz>6wK~uw?P`yo!>r6#S4XRTz2DLjU}`x~$g5G7vlw^S9{{M<71t(Jgs3t(!Cq#~5th(Qfn0jeO z5EYtsIs`4Nv8Mj?((AMTfwybdvkl~T%`T;P2#vN7%*yypjvc|7A_J1(Y4aEFMrl(;<*|Ly z7)7iwFTPuWOc%D$=eMOA) z1J`HYaD0Zw4`efnVify(O@YB9d3z}*4`0f-y+>8>UgCgJCt>5)2eUm#*wti@G@GXL z+2C6tjB7BrPt0zkb#lj zNJ`QZ0Wn5Dt1Y%%^;>pAu<(?ak^r~Z5WQ=gD7v9>kc0uH|7wQ%#B`%ne!KE_F?k5r z`%DR8rCt{>^Sj+pi)ji)7kw}}-=E#CjtK3HxGYh$5jx2lB+5ZIR6SdlUkq}G)of4A zik+c;581Q6!XSsiR1Fwp*9H27ohs18FsFNNK~MG|WV0y8F%VI%Zp$q|(x>^beH?AH z>dB`WXvXH3))KOFx>xcOJznP)&-{=N(2Qe6t3Wpn;M2sNvp&Y@LKIH)`j3A%z)RI ziuOVsYx1SX6a$^rxHB}|eN0|RnV-sE$R>zX)a*mpZLcPHxw5f7wgg9jk5-U^3yRrh z3%)hQte6=eMYs`{XDcNcERlMa%I;P%h|Cs;?`U&LWuIxW?6Y9urUfwdMx!dNHpW6DnKD7e0;2qAP3V|^1S&? z&!S4VH1nF&enXIF#Ks;53TOylsAVKjUEWS8W;qB1FkKL+kemn8%)KI%N|Xs=-HmLT z#c?;>rWS?^W`Cv-HX&U>2J*E2Lle>5do*)-KUbif6(A}cAhHc!J{ydjz8`l>IK#Pt z6!v737S{nvaGWk z!UfG~IWO8RZI38RtwDSG-(P<|d&$E6Hwr79^zd7QXJzrf!*7`7?S1wwGfj#SD`&*v zQ$Uvvu8-rb{fQ^R*Ba8wq@(L&Ua+wOKoDVdOG9v(T~3e4;7rxkho=Xio&)LUHHY7T z-LoS0UlE?yq#eHUhTaP}z$brQec&fw|2href!A}3g9+vg2Bs|yV%kUpub`Z(x7T|x zok%s_BSsi#8PQ5}jbdB%?xr|SL_m%3$>nVGcdYq}qmnHvY=lHuzu)Zg&yrvhwht+! zSh$!EHfw19tyI+trJ=d4xHTEXKp-g#d<7S1)s%8aei9wTR-{kd}JO}nJY}}7} zd~&*vo(}6WAyhumY(LMLy3(NRuP-`Q@4J-}LNSq7?~o5r#<%9R)Dt$>2D|EZOdXH( zTJ!MRl*51zqAe?`+a;ru+KH%nr@>tsprQJmkTOoxp?=$zA5(2~ly0rid$u^CYs5H8 z)zGZm3b6<nn{gbKB~$?({TSam<2*FRMaqemCe5E2eF`zKtK+Kic_ToMBy%@# z11~(5!rDO0L9D4ACO(KNQQ>K}q(dUEd^_CD z36!IAxH3#$I*x%LMS6aV5TM4PcG1hI`TVP35NKUQ9}3AtPu`_QN&B15AZhUhAF9j3 z*3!2cnr()&YKK!89mQ~}*9<4;c<>Ehm7s0}ra7crpsJq}82-|(wET!>UFg*pf{ z$~rN>ifY6piW`;=>oWB%Rw4#|AvIl;9764?z!`(I{hiO2z{HExEQahO3ghJ=OVe*} zJ&oWG4|YN&YDv_oK>aF~onb(`kEcxF1{bPtOa$XJ)3@<$xYeRn1&-q{urJUcLP2U% zGQf3>;RxiJw^x+gDa&Cts5EaaKIInzOGQZZIAbXqw8En3s+hZNVYVyarSIBFin@lB z+%rpp=~TT>er(d3VriJblz=8?247lAu<_iZO#Bj*Eh*1|lqa6CiXtHeC*g^3t=Ya2 z+_1VzOi$zkhUIe=?-bSURvR%VLJwL+1=zUAD{K_Y(MjvFX~s}38xo*DXY_zD^FVMi zGI!T&ik5hCLQ0=a0d*M%^kd>%jBvd!alUS6eD8*=KE4(m;IgmFw1XIB)9pbg3L=vu z5?utDoNyvFhf%5b+()3DBH$R|3K3<{lyIhbwSWZ!pleRHKx!_`o75bwX(1Fs$Lo() zDz#c7qHICI3#s-M)sEa`npg^kFso2|jXp)8Sb2jD$!`J>)HQO@f-r95shsf`^Eq~kGX>h0+RqAZqOV% zdIE>l>tDxIjnH1!dyghOgkQ3Nb|&sQ3lbBt6#esE-`LRBqM&l^W?u7>(Rw!1&kToR z&4GhGM;i_=3Ik@q;0-i*dMUHX^puPk!ZWfq+1W8gdn z&ST&_2F_#PpB4sk46VG*lCPL$--1=q{`&MY-#~=#w+Gl9PX0Z76!$^yAJ&=NCgx&n zMKmvdzQYBDgWtrzzx(v5m$ae4Pe0?1`=+>i*eO5tVwoulmD32Z(Adtb&N22I1#wgK z8uL+M1qz%Z3-CVg;sgXys_ZL;=s~%V%_-v2)J#EdYDAf4aI(2Sk6=B&p27F}MSiag zN($anYI*wU!@Rh^WD^{0aDKB*%_H-#sH6MPuiIZFHKuA#zu+j&#r^E!9wFL2C!0^t zE1aq$$m3Ncwc)ba4nBJ!xRMN^1X|b zj>B=mXO|a39rD14b)TH!Bd)UkP7yhUA7Y|2+9D`wWGp_!JZD1yt%+x+ABA7kh^G4~ z%35b7&CH)^Jj?%xnLR75`2@)AttgT9wy^|>z zp^;pKtIy*C2Wjykd5*v(7oz|!jayx$iBM+4=U~~%hmPdy=j{*85_$HOu@eVQUO8ko zM1z=oh(Gbbis+oLJ1dUhtvLIvyit5oA_WSNEgAx_8F`eX`MQvPZc`G1qkEo!;S;7h zHmd5+Oxl{`6;abg(hXz16v$)i)`2k#NP1|pl%Ua^ml9NYHtTJG1>i9wX~HNaPBZClFl|Ep#<0pY&#CjMN-NDl(Yn`u->= zC?x{5>J{omIDQ`!J~)GvBu`c$FmT2+6O~rgUo2p>`7MHkDKDEMV1wE9kW=aule!8e zQAwokJL_F>GP#Xh)EEpx&c4>6P)zGkxagrX_yKALT<>0J(yP{lHitu53k-0cmy$GA zw=zSYHi?KtRiOT(c@+S9D+u6wXVV@g&Gz5sM{shXbM8MR#o*I;N>WZ2pEByfHuBb$bveY;H!t^gXA&or%t*UNgpDO zsD=(g3QFc<0SzRo(P2FWl_MezS3{9*)MJXJ$J8gG0nG~4O3{Zt9#}v~&uRLid}M?! z+W5l!04j*&z>W}H$k8KfR22wuFPZwa5%SK3^0mN+ z`SBJqQfZ1V2j8gdgb1jHB=wRAh5#!3X~FcP&t)ov4r%1q{|j*fToMW5g(4MI^+BItzp$3aAN3(EEoMaa_mxdd>JC*D zLg$0x@aC?kHV+;tuARFEGE&=Wd@ zcM*WbT&ZX@YrP)6R>4;`3!9b=&5Ou*)ocElW(q!($JX%*xKQ@4r$#!=b1in)SOu=( z1w+E&tqS6U&ypH|m`|QNLrn?l9NAC?tUS3D`XF|TKvT7-A3*1O?1r`=Q^%=Jt<|Au zJn*TO=Ux~wdhUhyJeI;2K9<4<9!udT%nJwF7yzNp%l(Yygghj9FCO-qgFE?%-1Qba z=ibtjck78+Y{8n|Jip+jsQU&+X`|ckJjZR(9-w4oNQG!B_Y1 z=&Sec=&Seb=&J|jU&%GcaMb*7*l{YD?Zpqkb zV;tJ~|0q~>Yd|pinNAybi_}<%hIfyN82`ueW~(*(A({!l0fU+JHq0Gb)cPwLQeqx9 zEv8Q9EcMtmL-r8nI{^$Y>1P`{k zy&{~Cl*8Ek&1TUKcaOji!$)yBb)1o$AmI#;`Tg4lZNqP&;rH?HCsvjLy8nTA z{??TQ(66~30T2sQvv9}p`iL-**Py=2nNawPbDSA~y4~Z;4@qia8~EzZ*3nZ^>D<{3 z=L4eo4!Pvn#VOsNxX^?r@H~T)6Zwgr`DB_ z0q@0;k^6W+r&V=5ISL@RIEp?gUMAu1)ER) zg7HbO@gjj&@sDEipTHD_pjXuaGYC^&vX@3!s8uQm;{m`e^QE&~7Wv=@68>JM5O+@2 zwT8Prz@vF?oo^&y8EHD7&`ZPz910+~KX3j_-BU;zq$+=qfC4+Q`2l@mtE?aegcyV( z7m}b0d3McrRI>u=kZ@yMSwq8+Lj;H$|0I`;#J6~YudU5kwKH7%jzmyCU_(ZVMIjbk zC_=EJafeKto+UzrHaems*AQ(X${WvM4WST#k3!0za4cebvr#bw6?CK{b1Kx}dd07a zW}vv&(%?c589q%mq?8i`cZoQBbB zGzHt%L3DKAgQ%#I)W-}!mD)zwXQKrf!6nvJJ`Gef`L6`%V0-19aU!ZWt!V2GzNNRZ zEb0G&b-mg(aVnCLp@+_eP*S4ZUlA!}{Kt^-C_+*1b)OV{ZocE}Oeq#zW=c`r0#gp> zOsNg5TBal`u478#S71vyu8Aqdf?`0=3yAT6k(Xw`a)|*)i2qF701+2j+b0AUuYb19yQEx?tAKh4b*LoH=#HPtm*Sm1+c34ue9 z;zpS)#9*fV$!9o4Pc>6Z+;C>oYxANkAozv_+e(Lx*$_WJ86q(I&K ze=kSZ{1wBIX={WjyGC69qOR~aM0Hmy_6n)+L8={L0N>upf$WgUojTQ=kY{Y0z#3@R zJ|(ux=bj<(kp~p97HB?I9NlgHhagoYl3z@Syw~?x4PFyeS8(*M9{hGvuZBEk08@e2lQK8L3 zBG$`=U)uGNtsz;G(SWyW5J8?v$r=XQ<8*+{RGT{nM|Tepo@^G_c-Lkqi6In8Fg>Ys z==i7Xwq)S`xNrmks2aqi`f<47m*h4h_IXC;jp}4#@)SAMf zMjdDYxpXn`_z8qTAzo9MYs(8Dpc{yBz2L)xf}ao7lfrim6VulsGBK*zHbrYAg$upn zGrod?s>3TEyJNnXEt!(#R{iVr6HUyQzYckk5ZCE{(%8O|*&>_1-y?~hK zFk!`O!VRfD(9)e?0s~JKaQe!# z^?vje-dyWVVztdbQz_~Mgs3iMTokevsSo9RFs=d{g{DhjF6D=Nn|N0JGb0CL5%1v- zx$8^AGkFv@0@Dn9Vr{B0-$|>oTBXtSlRC-dy&R;|9ACOZZm{Wt`2`jhi`Arb zmkRG!;ri(AF+>*siKY&&7pRyZq2L<^<^~^o&h?nrS?EUoS~g`uq$i(6w;G~o)NDrc zN6z>eRu}S~B5?m)Pq(B9rJO+kFr>U;O$M|hnZQVI>3LPXuQSN&RMmE3LMh=((n2&D zRMb^3MiSe%m{K3NmnZ^bNuuQ1LP*oF4X33bJ{uzbS(qq!^Hj{JxOana2>mGQhz%)yWL4-f3Ep&9G2v$&3p9wt=97FYy$u%q?aTCS*8KW|d3S1Ym1j!V)>duw%AsQyq48<%9;Y1z80r zIH-)Z-}<}%#Bt~TARt(~!Pi!HzR(Z-QZT`y%NO>%)i324aA9v-U6g#lrH;$NxEzYh z)p5BdE>DTeb#Zw*U?NZhPIaN~M+}9^GTsr8au+JU>!tXLyvoJy)x}0t{iX%AOde1| z4wja-fC`3vjeSCuu>tc*$O=vLyF3ON&#_jBwRJEh-@rlhCMXIbh39<3$s|(b;IlA3 zo%d4r19KvkL<8tNiT+@TKp}70MtU`#VdMyrJmV~A=WHND0-ZcNkkUC06?Gt$X9vAG zp}shDEk>8Wy;?i6`R*E7S-yM9wS{m@Ip|qv=8jDnJ519bVcfeQ7^_;16U72}Bb`#< zKDJ7rzdgFXRJcWvkcINiRRP;TJuQR#bXPtt6Q(tO3suE1mZ`zE4ijoZbI@y5eSFSn z7JpRB!dV5p1Uo;nXKQS4(nw}Ek%%-YFKJdMtbW;5T>+PC81hNM!oi7hPIx4_*OtK9 zX=9}hEmGl4f*S(yN)tRy|4>UJnvA{|H2MFxcdfB?9M^edS=NJoNPfym9Ixcarlg3M z1^`|)_&_(EfJFfn3v8obKG1mSj<~x`If1{btCCJ9M z!{0>qN|F4_X4GA?(vu|p-*YuDN`z|@-opy(3X$F~Kw0#nYx@F_t%n@u3_I(AA_V3D z`ah}bwKFQ6UkK!-(}UzcJag0ITA017E9twJtrh0=qU?1!UY}QW1i{6cAdRnRU~oxB zwK98Mm1nTJfnW`?%>NsPbN%g#*VF(1yY}x8$>p8Aaq|5Fo^R#SyEo|caH9}E%+as8sj<8- zBc9LS_OZtJ_nP8zQ)9lkxiS7##E-2IDp0<`TeKYS;aN-4DesrM8|AoVb7TIWHpQ!3 z8uP8Kjqx{|;y=Dih;pvpSM>?;qg?qhZ^O$ z^>AbUdrk4L9%;-UKiU{y2|vv9|2E=AkJRgpcQ^X!cMw0gI+N#55I>cZ@AZ3-m*mq9 z|Ac(<**S*xpWrcFj0?f%hwx{tV)IJ`UpVtQLd+bye3Bm#snvu?+RS2*9TSyo&Y6TaG6lDxWw6gfslrjSTiD zY?GujxJ)zeCXar{bcWj#I;OoJ9c{^a7&?A5Od91_12E-u;r-GK_Y7XeG2j!2c`WBL zz~z9vd{-d87O)OrWW}rMILVJROwX5fCF0DZ{FH~h`F<6E;S|bcIpobegTuO94Y&qi z6x|6O>%%fhM;>$0QP&LXLC3nX zE~F(L4H?dW&fsl8oIH)r&Llcx8hMZ>`LwG$>&bkE zR}(tYSOBJz_gr*LXE+Ty^0xpR0i?SL(2kDz)E~nOpd){#eGEXlO@NyLq-UDZHPhKf z7*2xDAC@%0ineYBBiChOVnY#T=%vcKZPri@{&r(DlLKl5|wkD1daI0?b9n#>((6=%^?v=?(zt?gX@>BX4#{3~zysO1&L$ z2tc~SfFl6I&s3av?7$e#fX*oPDB`5M3vf5!b^!AX9hJ`xjo~!ts9-903_!YZz&!wy zZs@3dc7P10K*#w01n$KXZ9s(q=$bmFe(wVu1KbaI0ASJ|#QQ@4>h!|^hPM(rracTG z-KPO_(R~DY3}+HL+QkNt?h(LTbT=T6;Z@MlHnfWaAl(F@9UXbI(`7gfI@*SIDFI05 z0wlojGxa0hjR1xhKu0^$K9c~_O##XPV`D={91Flu1D&y@hdAjT1xy1>x}l>DHvkxp zfsS$7lTZP`Y$_Z>$94d3v~v|eo<5*m-D!`F0EUAJ9qkbp3}E;P zbVlE!-^~I@_c-7)0QxKQ3>|T90WiD^I{Mxt06sqpK#~eGkcIw5-?|jA2Cy7(8Q@9) z(};UHU|I712%etf1^OEO?56;q2N3rp;0eH!fTsXY16U4mna}VdXz82uInq7@ zAfJ-}L;Eb=e;Q!$PT`&570^!MSq7LVeUSe59N-Ip=K((hU^oMOlTZKrS(S>F7Nj#y zAEdt_oZ+u`kxsv(FEQ`u01WRSoqk1Mp`S4P2x;^I+MhhW2w+&XTKfa-YUuwlY zgCv5efrjOu1VHVo{=bYTc_WMA41b+O#P}Zl`eJ~=>mq{2JClF*uBR>s-{|dH_A5C0 z*4wq_3S_SZyjKx}?;#oM+5g$wwSv1J|3?h|u)ph~Gsrnz>{{{7>lN**MMe8&vFq}6 z3GI*RKKRzg0@SlOaM$`Yn_O4}Diot)_o^m|Bqw6crqLfCvQeL)6a=Z#~9pDDQ zjet#n&48_d0$>N=6M#K{A;1B^DBuWS3~)cd0kA!>-O%^xv-D@`mA>&D;CTT3jlM>E z{2Jh8z;6Lw1AH6sJ;3h){t)nez@Gz_0TxPL`bx9RY64 zW&A?ms>9QGJ_9iQ5cSVG5|#rPzMJ5k!h0T%ya@C?hBtxt9G>i(P6H0_a6_jQ^bZWi zap+CdV|k<$J7wvHfj=HPel!_`)e(c%m!Y+07JE}3chwy~_8xa)uPv8dDPlA%OMxrH zw1obhEqSAUEW=5sBuB&@?szC=3&yQhDX7*$8AT}1s>tKAVr}v)KZvcUUaJLREZv?p zqWid0>506@W%uUI)}B39x9e4{IUx#;QD;<`cI_Ba+gXzB>RR`dN+PJq(20X^k2oaba^N;e zZLJaa%23s-u{y};_Wa492S%Ebo2|X5Pw$1UMJ@3B*w)%`DpNt|#pP;LcubpD+A2S? zi#=sAEKTZB5=BMhGyTOmtd_I+7>Ff2#;K&XZFY>}uDOw-p}>#Bpi;>@(!kMBx?YJc zI94jlsvMS;*h$!qdWXmC;;v?t`$DItFg$-Mb?{No8$rnG(@b^#JX<9hpRGyPFg6W9 zNn+$E_Rl4ULC-|q(TtjFQ%Mi7ec+Ic%FTEOWKfmp7)poH4LFq~I|v6u>C9V)PkWXahvV^?JUq_XXAMDZ6)Vn;r?CiD(a&4yd4U;z};|%QZ06$+@Y9@)j@YC-cstV zI}~}*yY5cqT*Q97LlKL`Yy!pM|C9{V-Zl9skBIKa^h~n>0lqntrY1tOm2&q-D1XTN9kNwuT+GtQ_(}S@!%fci|>^sOs5rUoT4U# zd)$0nFyJqtND0K*HBV5-By(!OkD)+J~qC2Z}-&rf&T?#^_gHAM*L+*fcuU2>_ z4NM@gkfDr|rGitM+8|7uRD}yKp?UM>vp0*;Xw)C}oNC~^qC4?`CY0{PzqU1}C(hK8 zzGaT0{Npl=)55mQQ5vbabkoXquJWqRjBS=$l-t&&waMz&D_U^w4{RNa*3j!I?=u^1 z_0X27X(VI2O(o0(wg2o3H#=LFKJ@ZLwsbj^Zx*U|Yh2OEuPyW!kES&R(R~hbO}lj+71?Zvi>7cl5}+kvXE{zf6C2Keb8gD!Mtp zBSP+59tS}M9ynw7T#eRGK~kx*h{*mBQ+x{jHYyTFa~4WK+oXE>FAMb)oJUP?<9AzJk0#z>#WO;izVO^ zXacdEfkSiE6MyN^%bw|U|fc(k(`MzMb3d(z0QvnNKU}Le3Xjmywd` zZEiNJhPTaY(Pq}wqNkS4S=)Cf3r^|&t!5RR*RtMuv!CApAzcPK$8r~b;{G>L`z;j{5Y7Xxgh~=asVEM5YRTecZO(EN#E)<44>nxeq%Bre)ZIusgSn z7c*GwkcoJxBq-tNRuJ+C$orbW6t4?P8E74qq-M~Y6CgoJa?Z1KNT<87RQsboHpIwi zB+>VgiAaX1)96^y9vK08-|n0&CYM`J(sM0+JM?L(v7j2)S-U!8r(894Fw(Q2(iPcEu9lFLv1)ijID4T|c7LJl|2 ztMxe7SxVkMXUS$s<+yB>;jHyhqvf28X??IE2whGamVGZo=BfZ#nN4~7h*{RDZG=5gR<0Cr{&9>`AQExL$byc2H*KDJXko-%`EFSy}3k zQyamt)mZ^-+jF@MwD$s(tqas=c60AMYmDvH>9@ngBA&EP zJgC$2)p1zINo4M7;#R0oR&fT58dYLM)&^AYLhpIZ)v%B|q3q83PSq>fs0cT@n}f>c zD0bqJFov!n_d$i&8;woDSryn6xHa&D@l4kXu~EIjH;puRN+*iPyeZ$C#LjMCwUuIj zt89CzPP129JJE$uZ(gOjcPJ}$Ytfw)XWeFDZyNf}5_Y0T@oms|vEPpOGGAXO5ZUI) z{bm81VCQ+Vxtk~Y;r2ZjaBDpWwgol1Eeo<2-OYuxk$0~`%8R)Ux6rIx$D1zHwI+Dr z(ga>9G5E&o%epqK6IZN3_VP6=#j>kbcj2aq)tBH`m$-x^Bpm!l;4K6Gzu~za?1;~+ zZ7ve4c`?OmUQdDSm)`)|rDE_kJg>QwWvE}P)o;Ed@2`n-Iam^hH*j3cUt%>c#8KDc zAn&E$0S+!Lei_e?^1cvtH=)2i#tit4A6}+&<(0VV;|D;x+{6?DE~@L{vI*DVdM3eExTy>x;s8{>Dr6C zZn*NJx0L;$_Sl5A;*u+_y84{#jx)Mh5?Bk#LtQf^H)G4Q8P0Ys9iqxe8@RH$x9hD`+ z5a&kjmJ!aZs+m$K@prBWUk9G|O-2@RJS&dMuq$`f7OB^r~P;`h?y%={+ zfCd*(l*$%IA{GV)y3q&d^G!}oPkzLHV#paU!ig8P!5YJyz^XXmlvHC8js~n)ZL|c> z8k`&VTujCmige|1%tFKwj8lS1jBcvrk7@+<5LgrSXjbj>48wX2GFj1V6w9iGBO{dz z3n|#)=Y(Em)~frs^}?&DN{{+zp7=IJQcjDZFo>dUx;U%i`O~0x+--pmB2`1pS`4eM z4N@p=fHQQ4Gr>OkJF18}jbQ?-CS{mYU5wi}Tq~%@jmVSr2%0>I%Q!fLbusu#BXuA1 z%u-oNI_SD!9AUs_fk5mFgK6noH4j@;M+-+1;~K3eb$~@2O(ynLg3@%NN=W!v9d*d; zm#A0|E;A#JMi^^mQJln%wIY<#M`mP+wyQdEQoPY7tXjv-Be57vUZ71>Pgy+hr^MK7 zbt0&EC8cDm5(G8nAM8Feq;dF1)$wO7+#uqsVpZi68=$7jB(97~p;yC+D9DGniW2lJp*s)u3>pA4C_ zu~L9hv@#)PC&#^@9$B!lWMgS)S@;r`B*y<@f8E!P#0yb8%(ig12fp9RTIl>E2TcYI z0X3%$b)y+ogS<%(Y%wfBi7vkUY&J>=2OFv3NmW)vHMC4q2^M{mo|!Z(P32Q{Sf`IJl+S zPGXPDLk}et&TNyGc>-7XOsVRt9wgzGW>b4vJsXnKr6e(?M9@q~kmax~WU-Wd62mTZ z2aULD`3oBNazS#P2CJz?jLwO6LE^1|j*;6U z!k`i}g^YV1OQ5H8>Qm(y9qw*Aj4EFo?(4N}Si_m{j`#KLwC$+uRc(rd`O;)CLhLlw zh}{p$$it0LP88)S8d>fF`(}(96pJ=s2k6DENsKS*Ay-!{O5)%YT5L~Mf(abLwI?x= zz}YzT_o~5x3htkfThkI_4LEHJSw``=3l=%HA5#Gu0xNbsLlp4b|Z5GKcZMn5QW& literal 418679 zcmeFa37}Z3q^g7v!l0mnAP!(_8%025&{lb`X`d*qb~h?Wm^1<^DnqnsMMZhP|F_oOXP@B? zRaB7#E0wA}oVC~b*0;X(&1YwP`)JRR>-HTva&+#7 z6Gy+R{_D!wV{B%sNR(T z9zAl$ephbw?EZUB-f`l+17Ybb2Y?R);={o%3jmCaXL&ExL(9s5r1F9+F*lrR3_K}h89 zno*hrL6U|+l0^K^jG1VJjbt)h#`{JX#`XXBRZ~i{YQ$ZV#9F*IK59^*d)pKY<72==MXjl+MkA?%FzViw4O`{4*`T4OdP5D(#;8x~ z@9eWytJO&KUyBdzFE5~;IBtfW@$oS#YBs{DDXUd2QMG`lem(FxpSk~4L91n7*aucn zh3#*xpp~Q7pdt!EP|$1!;dBrzkEs$+B15LfQ4}RXq7f0cY#0){8LFTB7e)clx*l*3 zF8SB0u#pW7y;e>m6fqLXICsg4ps_M(Y9PV} z9*-wMD{8dI!e-XZqUIaVo;@2h&xDr+DgT7}C*q$%kL5qD5B?m5&RkLFLeD>NA@d0hRff2^uUo`$=M@EPu#Qb@PYrZ z|IXQM!Gq1KmtOy_qbG{PhpoDkwDpILZ|H!F(X74<)?~bE%_UJwP=T5w^>hbK}7arR`d+VOtckkW3=a%4A&BpA> z=btzfe4*L$%sTjdbL`~YzB>-xzVF`s!OCwrx0-j~@*TxZyRQ$vuldyahx3lW?mKt9 z@Roh|?5Dqf+?cNyJCA7S?kqdwyRiF~y|dTdwCCB^(~Av5jom)CZ|>B|*`tTR&-XUF zL%-j=|Ktm1g{Zss-Ld~9h5mPAeZ3G8clPeXN1wm%@a*9O&%Y!1iRRPmKlgRWk(L|1 zy+>_~t~-46)SYzdvz3VI18TUmC#*N+9~t`In8G>UGzKvFdx(-vN5t zbKTzJ#+}#Sw&#`_-MzY*G86XhzvtL(`{%X=Yul)ad(lb1D_FC5&u`p!vcKnFZuGGe zBamUZuGdKRck2%t!<02ZC7R239KGk*(Ifkh%xOZuw7J@o`+<|Q$HdJUj5*j}@R$9x zz7QDmK({UUP~%_K5#3+MX!7ds((g9Ljm;t(j@}Wh7$%A9#lazhr+;&C;>149mioN; zd}EkCE1qV(6%PJpKEdYrlW?}L6oxAQ#l|ovwOZ|;ZNdL)eDhGR2T6DEd0X(0jirf8 z34`)$NBU0>9$mr=gU+r$dJ1K}oG*XBgpXj8{U819h)GsqbO1}m5Ed#z*>lI-z8CDj z^F*Do9Ivq(j3Fb>w}lJvr%{#kkN@vBre+TxzW1Kl=b!wpeaB`GJpG%4zgnWqEl~_B z`gG%84)tVUUY$B};5Z!dfb^c1HCMp8F`EvYd;tO$9pM<#Gg$qN^-5|y#|h!<5Z<%9 z_ss6R?Y2F)1+Q%mlX?kJ$ub$x8u$B$#xv^m+f*yLAEUVU#DRTB?moOl_V!4HlA(l_aqwEm}U!6S|Tqu!VUa$p8~ zb?plysI%@9#Kz;Lcm;P7HA2ziyb?j8F_dH$wRtm`eLfR%>F2`SjuuWHvY# z`ltP0kC?E7f`U2m9bSuhYy|)Br`-PPKiWUC^U?&Y<4+pb)JL|4+ffQ5N^Nn=4bQ%* zxNY|4owwf@e19{QCQ<4YGs9wKuvdf6+k(&b&!ZXyH8OnmEzi1T&v)K3`yD%PyImH~ z4~-ZmtJ-YA`DE?ZdRGlAHncq{T9de!FI2W4-M`y!@>s>glsWunTkuznKAt-`P`hBu z6(@Xp@Mj~aW`H(LeU^3vS?(Y1!Z3;|W_FIUP}Z$LtN07d?E{)d=C%u7-y9Z;1E50R z)yEZ!G^KG{aJIQLbK>Y-cR_#j^?_zvhVMN`F?JtoE;!D$A>S6fym{HsI6JbN-GAc5 z(G#=xoV=UrUpbz>>8?!3N|d9Q0u-1$OcOotE89^k*=uba!t=X>?yK=8ksHb2??r{-6h8#Zpv{{8IiL*dK99|(Ui z{PFOO;m?I{@qd0OdR_Fn@blpxg^z|G4j&0OY}7Arj(#rs>FD9;KSn`a<~0 zu=~gQ=Of`q7x-b*rZ4dA+wAKvgxyD?O^@*XBYgkc5#RIAN5c0--Fbf~zuh!%iFto` zL)`8DT>R4Hp#;!>KK_OH9r3&4_r%?|h5t|dvG~v8&&7Z39=_x*FHRmz=;N!CS113N zyrKD-=8IZiFMnR#dPDfG@W-R_?}w5PC;yOqC3$hn{du4@{lVs^n=fg7r1{7E`(SHb zzVG>W+;#We2VW81{e9tU!q3vk z563?e-*wm9<9EjIivM%`%ki(ozZ!ou{?qug)l>QQMafH&S0yh>9;9od{=BsHQ{lU# zk2OEld}&L6#((RVU#GbFk1Ki?hG(KPmo>ZLWz8%&xTSenvzR(q96P?HnT2Ue4#wFa zxU88HY3C*jwlvf4wcBXB9{yN&}LXfS4M%pp5VTHFxQuPcqosH`*zcO zl*L7I@U5NKCRS%ROtUbH4`#vEAh|LK()7g!YnZ;&u36A|f78QPMCot$8VZWHtW-+@ zkmMn70%cH4_y&OhU}=p4#eD~}@K6!mTbwyrL~{rEibhp$`XQ??7T`nmS<_{uv3e1? zN@J>x=B?C0T!I{?Kk_1>bc{iCD2+>$s>(u88iE7x0=C*}Cw7Kc*KHL^w^;<;C`-Cwyq!iO)t!YJlQ?TK$a(W19RZN2 z2x&BH-8dPf4V7o4RB)we=Rw0y%h8T~9cmO4nmZo?a%d8;4oQYkhvjYzoK~;VWaCiY zENN2U_Gq$^3TO0%F`-WyjX>i=FJi-kp%$VB^}Fel2yf*`qz%PVt-hp# zZ4n0p3E;(7_%9Zn1fBOanb8@)GiImkhj4dyT;p_#_F~l^b>lP}PtIg~WYQ^qqQx+wB;(?pZi74Q5D zRd;o?GEIN*0Zq!b&3i+YdY^^)m=K)9Xsh`ZgC^eHOyBj|kA!=f2hZxlOnEKvgRBj@ z0wzM5C)6=^C?8X8F`qJTva!x%>e09Z25K>OY?BypcNqg~0pTcq#h@~MT^VCNO@O)= zg6uki%-tje6nZ1Hgg{CY1~8*?15^qUlL~KC*Z|=TV6!rg?_}fR3~dMqZhg=?*~c^! zu$;9DYk{#+LxEiwV92F8NMnprMP4EZ$SZNosM$?`0DL7Sc_r!K*9Mp)8t5pGt+~uD zB6uSv>uVooG=zp3I@=9m`X|2YVFf7;H#uC%kOC=HHKpl4m^_fgEw-x7s5qk*BFLfh z{m>IcA`EYhIz{Vv@l(-3GO57zBf-I3ji~a>B)0^BzKS` z$-!`K_>lA(KI0CFhFil|a)&e*DfzL4$ryKtOYRVR?hyC5gCvo-L(8~BOVl~8X_TiD zJdRaYT}njFBHpq~X%S@O3^da&%Elbmh?t;bCD*V)XlLM8g*1i}v|!>-4^784n#MIg zP!780f+rNjYq%r0Dh9o}wD~2xCYa$ec4f4I%hurnkjmArhHKOG_j;_zV2MNmS#){a zvD$Pub5-0Chl{OZF*+&+#_;$xLB?J4s(34x)>ZK~E|AOBY5H0v8i#0Fa2ioVrJ#xY z@=CXWK;-I=sXR^JRYQE|a)-L-aCxt$6KH3k>;jL~ zxO8;6CV+jPH7qbqZFUbrqkbBm)u3ydfzw@fRV>7EH{8$5^y(ZYJK5dO|y)wF0cd9KYe%(}y=z9HfV`m#Pp;YMk zvCgnO$@?mo%&w+V$0A{P^g+Ed+CbL3d$=9?p}X&(zqtEIx}CTh*o2a#;lO7AI4Ob~ zg$2`1=z7KR;diRUIKE9}``T0^6c|2}a*CAZ6Ep^?23ewVXl159qpeGgX1*EC^5|&R zV?n^fM8T?B5!*f|rk$pr!(a(&szjUNj&itaUUFEe?)23pJvxrm38`UiSXY~?6LWwe z=Blxy_n-s$tD=4KSF};eUyt0t@QVDEJROvvbp|dmXX;%;T4|#TUB%FBRLb9IwETr~ z9j6|WzozdCY4G2h3~eZ(jsw$ynAZUBn6I=A*Uvf`PTIH!k`5tmMJg?)%hP-bCqQQLfF>qsTOWip zeUrFPl$;4qiwjrN9MW;qKi2ejb61EEip2fR=nw~ps)=vI?FigWc|ZM4ZP?IxLn8AE z$|#^rICmBuehZ3a_}0^~b2TSrAC;C8S<~?ck@2l!$G>8{70Xt>g9xWV2j2mN85cGu z4F-VYQ=@x^A?Z9FghiBM?!4_~^f7F@&)a;S>GL+VK;CU8G2*xlRWpEX31@!mwxaEW ze>7klitx~~lsxdb*=V&$Pe$0=tc&C@DF2vfQpp7I7DLP>%e3y5Fvgu{Oo-4uJI%yC zd%u0lgp|&jmocW&zNiS%D^# zjUIK+3u_k_H0>!WzW#Lm! zw>uth&sLal1n_KqHg@nW*$fKL>1+-E-uJLvSa~XjmlpqTbh6uUoL8NQoM$iJ0GwD? zlUaOxXTBV)PG*hc@*T#zd1%<(u{6zBOS;mEQ`-Cul`K!T0|cTd$v0+=U5KfT+2rwT z^{x{;Cov|$7QbPT?V6Niw(llc29~nE#edf1vwAVUa>gc?W6poH`i4o^VEyY9`&Jep zK)GO^lCfK2ttkJH!%Aao_7E0Vd@kMsr?g8GoU zKGZ&!0P~+amCnrOUQe7W-Kw&ZzODp(s0A~MWA36N}csCN;MgCfGUP2lAjen1&=#;7Cxzno* z#pcJ&rT!q7sg?1W2sN_P?jf7bni{hto7P1#+e%Yb%8$_`Q|P!r@Qz7Q1FNxkP5=j? z&Nrr{;tK${6yDEosx{3zB~I*V9VJzGEt4YOl#RdT^uq_4H=7@qEQhy(U11WiG#; zx8};nRVz!)?7&=}c<;-XUW||Ly(>Fgt=%qd@J6aT<^>D`f-n8}-di`qj}I`ij?^>2 zbzl^qcvo0F#@~+w#UH&p?8pVNHM-t-NdO(o->lgr$lO#HDnwT~u*-!H?)lu1+5UIk{5&s}I z#hs)ImYb6*m7&Cqv62-ws$vKE3T!ik%L=NUWQx&rOZi01PPoW?d-}{YrdPz;f0qu3IxSo=D_xx%waB2LhfKEb5KnrA_oOeQ3lb zr(+X3ZF!{NnDRN9&@ujHLZ>aEBWydN<9!z1MWwI%y(1Jep`%_gNDhqogiZ|Wk(}_t zhGv3c5iu-uf%|*;226?p1HVQ}rMNJ=lU(5G6I{07M3od;owc15 zvP(N#Js^d=A(Ik`G@>7?88Y^2$dDN`5d_--U%7cBL{8(6cvW;D!Mf zjM+15xtO$>kR)1fGO)YB`H9wWG3&;hN8Y;G=;hKTh7MWTZ9)-~l`ztz$!495U6klgd2=~mDm@&4X&KEJTK!;0XXmxA? z01?hcG5;)U8uOpbGG}$vXw)WJ)3bir9z+p(Hb>NLF3R)A9nWVD)p@@8-1`g-We*U` z70;JhLH@;np@C!;Q$`?&ZRSl8S&J8z7T|IZdbw0klIQvA3}fTKn2+bfJB&f&yiw&P z?{~w*yLk)^cs_lA=f{rcTU+QOqs$GgV$+F+d4A8_kS7=|k7jf6d^0yZ&!1X^=QH+; z@_f-pSCZWLu9+JtjJ)Fc_K>D;G;?EfKhMVnWjsG~JRd$Up1;lWd{}57&tLPn@_aFS zd|2za!1KlI;rSaJ&)>)eX1~d?{+Us%f3s)(*+|yEUaWtuWBn2X1FZk@pna8R{hf;S zZy&+>XEfP|S--J+&-yot5LSAtM)#{qF)*Vi#6WjGF|hhv#lY&G7+5VauzG1?KvNPi zmaW<~N&04weP0-fP^%qr)2rPHhYbq|hgD8Ez`kaNWJI?oBQBGSSR)y+Wld$e=O)&o)a&sN@Aw(rd&BJuXNbQl$#xuSC_BLJcz^}xqWpMhWj08)U_DE*b){fcuz2Aino51Y+KiS_q^C2F@u2(z4zY*GO`KEl?^?Su(l< z=NSi4Wz7m3+!;28f+0QtzwDVNqeuc*0KPvMGLx-fQsBRMCvF~sA?6S3mbT8k!H_KL z%GRj`L;iKmABF?#e1jo97ZoeYFuUa88VH80^x%ZNme)iXEN@I8jYDhY*n_|**bl}5YVjj(!OAb7*B4&5IGGk7&5k~W9;05 zA!B7Qgta8*7&B&P!H}^hcQ6FMzPY@HgnJQNF= zgo<&GO%{>dV|6h$?ZlXm(T|FSEURSK$XE!{>zN3FWm$AZ5M2{Qii#AmcZf}PzH@{_ z%-A*#u}RraD@xPJLi+3VYNcNJn24TN*)w@#+wuD^5Emi(fxMf5+Y>B6-XT)tx3~1M z1>zzT#_cVlLC|3r!JMSx_O>i`0w7#Sgu9TC2&{~|NWQRngCm40*dbs9gdKg3`nvSvQv_5AV9Kw zAV4xnzcF3<1;H|Bx?C7Ru*{h*CI}Q6AwaU;1xP&Wm+1o3Q;zksPE8ifDAqsSWBm$) zWE;$Ek?Q2LdTl`i!Eb3wihS=~fZJQ-J2DezrL2d0b26B*cUJMxxi@De5D%+)n7KD! zg9Njp`R3B{A=XBLJaclvO6Ohoutqt>k_}Sy6fDX6Y$1!8lbMEWNK7`YUAk;waTw;C z$p+Z#E~ew!e%X*nc{ho`U5G@`oc$(v_-cO_XEO^$OqL=hmejRYmJ7>JoX+YQHvn8}5f8sZJ2 zz>Zt4-^eUA?m|nAsS+{6QsXioGnvjVTT;wKJiu8IUjwOO49CoeuY0M1>S=>hNexS2 z2wg4}dMsRU{#>dHC^dfLQq06#*~5!LtO$8ZxTK&-S?mcOG%+wQ zP|&2RYtf*|Gr{4-4w~F{DQI#jXtLBqt*^JB$?F#gnxMlgXu`U}CApx?kNEWxG|`&E zWm5WFu*9M!SP?#8qVP$%N`w`Mwe=y7PnhJX$U7G%d1@FfJxo%4)~Y^xa)n8TI`Gwm zNvg`49vkz9Nv<@hbaBHZx7M6um%=2M!Xz%!7P~ngwNUX~){H!P!Xz(UAWZTvsxXPt zhrdQ)k|it|Stv|0q4-FZMSMZSByQ71g-MITQbtD@`i67;W#rdhVq7=5-Ln0 zd1iS5TKc$N?}(Ei=zO3=F9?+A#Zp(0C^G>6)6!RvxU2y4hD|DUSgZ7_6(oviOag_A zlyDb0zgYZ~aALto$s)^0RBxlIm%D*_ha)AnbdW_PGEP`T^2~6Y%c^GrhOH&hl9Iu- zBo`=Ba!XAp^hZiA^jeZ$q{Oc!v4w^;E(?lL;k+XrO{k&-3I zg8K5o!KEa|{a3k2NykM>{DMJkz^H}nO7bcf4EFXvu>~WRUUJ%2-1^n)o3(mN9>znxB0*GW?xmAcO%B(B7>-|bu zOL4i_s}L>xQj;94_Pw+Uk+|jKv6r1I4sdpY1{Uf;<*+{7Ph5f z-;?czL1@`pA7iI%c0?GXs%*U6kSQqEkz&HOKPf1r7&@mo8FwUU`aAa1@^{ER?(CC> zEp9Vl^I(!itX->$)o)R;&WcZIvm5ef;_V7=1BI#H*q6JsxkyGIm0QH+SeLXG<`5Z2 zWi{HojzR*AuRKuPd7!xSKyl}Q%3=oqEBf@GJ|jvw4`2m5@%*5+qSSW4Y;;p-5Ah=E z3bR^v9V$5|?EF`bj-aa0;m>UV&+8qGAZuxXUb_$g)H}1_8>0>pWxsSD~)P_5>6Lf*Z zX%n_R4_ogD+v10U2#JdUMcU0G8%V3D+d!I)AXF=BgI(;|7Tmj9ZBJK8)z~#nJ7god z#v}O&v|$Dt8UYX%jv-t7DFcTo?+%YSQA-GT3h>zi>Uh_3*=!4be%Eq)Ltnsju*J+` z=*s)B{n1#c-k4%>I_<}{R}@>8XsaEgB-I!jY-)|F$#ib)nvASJtemGhgGq>MbsO3y zQM>2bKK&%V=xHS@gQM-W_B34y!P@rO*oQpcK!wVw)x(4yQvcA=gEB(&%St_1xV}ki z?CzbhLAxb{DR+zk*MX-R(Po_u>x6=EG#j=(^aSEOY?!TzMYyUm$=Q*67rPU%C-(7d ztjC6D92*`7krbPs4Hqh?y^`GAsdz81c}4!wdGX${lJ~0iCG%c5ZV#G1hC2w&SI2O7 zUOa}oGfiJ-40p0(xa`)m5W|hTq0 zp1+cG!^NAkH?ZH+OQa-CRCD&ptRzj?oW(oMoSj%~&blqpMZn@63o1#fG49RViG}BF zO-UM>u*emgu%=b_)S`02E;>g^*F4ubdV!Un^Xk$<^Kqz4<=mTpKGwTb&Bt?4YR-Qy z?!I_)ad(=&-R5F-@XnLdV9|C>Y);166Ua~5!sLY=?-IZ2SGK*uVuRgFR3Dg&5Swa< zG5ei4(GxLLim76ILK(+4E5Nqga;8cX^A#lym$TGd2}zUm4XQIg6OJxf;M%rP`}Il( z_I|Klbx>fP2(1ZT)P=&%NjAiiy2yLH5|a}52JA%OY>ht1-Q-Ew;H+-D!L6FRWXG#+ zv*4JS9xP1(zmcK+8$*XrN|)7_(K2V76=bWA47|Z3qivvC;>^ zQU-r%L)a#6=E{ke;>xjHen!F|VqJ|~ISkvpt{j==i2{%2#o>-a1kE&1K+|x~J5GJ# z-8uPl8a;mw#F*qYe~#_b9c1h=y^uerA;^LXGVVNN1V=q&ymOF2=gvXpojT^{ZCn(m z&P^AON8XgCzdzvAxrjD~cj{njIH!&+J?pnIV)%;9DO^>hQzw>F2e5ih9j6k)m%t1n z-h7(kkv*qQQ%;?Qd8AENQxK%DppKL_h75W5qPS%2>2vA`rjk?Q z)UgGQc&6mpiRIuC^K3fLPSt3n`OQ86rV8QN5&bD7Z-$5HP*Hh3q## z*z8w>gjO91Jj{axe(51W99&4K96bvmVL>)Ngak2c8?;C^ikyDXh7(iH(Nm2mIQMM) zXKRigdNahvjaybnyDiSYNAPSNtuznMUd-b5~W~Q^XJ(i{UYn*kt-W={-j32lMRl^%(t+n#YK(Z@RD; z_PvqC!KOEI99)YPKC9^pL6sU zVf6Pb4}v4|7I8k;g5DywK!RN4BjSz&v;3X6L3l^J{an38OE*I1$^LOhNCjC?LB?Ha z9hHz_nD%*#`s@+Xoa8C2a+AKgi1c?{JpT9{m%K%uKVle^I?RRi7O|Na#~ORJrHBW; zMVi}#-Xh+ax5(%a5;Sj-e=rNhHrZ-Gh)))8(YYg`RYw93JtXkZLjn&yBs{@vmY=S9 zi|CEx-J#>%3V;lHi{Q%@@5b3*^6n7~dr|lPVy>cL_r7*UTi8`(JFq$TzSyF<_iYC@ zW7ECNoJCzlOZVx|<0^7KeN70LGg^UTT-xg&^<<$wNB)I%6+QRjvF7Kd>Catq6)oz> zKTlUt9ub15STicInN+4IYqFM(BDM-N8?(-i;JiI{#DlS;C%mKR+&a8C|FsT3!C3D3 zyNUkI#hb_f=8~Ie$OOeLqkvpJ%lg8&i8OcRCSq<6x{3T0)(*p2Ifb8WZld|SS58># z9uLN$zP{W<|L)?=(SLWzO*Aw|k%P2{JaSJSG5oF`pkk@~?rvwl2oiA685Wks>e zO#L0(6CVA$lWWCJz^W6!RwlFKX5qG2qVpflZ3c<5(V1s~v>waJAm!!;d1nan$>xnlK1dIZOCLU_g1!^wa(;q@LT5v zlvRj9Ym41Cav>=y;-54I8WyceB_0~+h*-BhrkxVmd=^C~DbzgF*e)f3MHh)k<<4 z^TP)v`RD?LqJ;}-tLL>l;)M%gI#MXPPmO7@9NWGYGpA&97vta7gK@lbdB)-ydmk9$ zD8XX1pa^bY{oEUL+B4Ul!j|MuDg%ymQr?9BOQWjURpYTHskf>#1 zd_Uoq&IPm`6psXs4OpbuisP?UWUZasA_)dDmxb(3At$h9jm2(dp8d<1UypxSl`$i% zFv(j+KNJTCBj^Y8Xu+T@|2Hl))O_HZhl&?z-fC(WXKtDd?QlW2bBNA)K9#j^QqC4* zL~fZnp;dENM%QLGG4R>yy-Vn6XF5a!z-^~f`#NvjLa#c-8RdQIEbn|Ov#rFJaa?la zP}b>ewTgh<4rpfZc<+u}WtTFWMz(eR$`TFiKR$5GHaKw5*-q*<&rU&cYLSC>;TASk zcTWaI*bT_A3ew^yel;w9fxq8c{MdWKPKPB@#l!D$uihK@cdX>kkkO_+X3Z=y)sgcES6m}VsYkl3u3nx~;m+^iR?Phbt25pHAas5onD zW?}2bHIYn|FIscCmNn5giUr3{z(}=9Spy($E584BH6Dh2@=|OxbO*KC1um{9&J)*V zCQZLchk|IT6c#bU;?afeoC68rd>@`J7}83L5eajIWoA9APwa?dvH{eY8s?xu?Z>V zIDVi(=$$J(ojpHH1S+dWyLjjj->W4ZV{MeK@cUND$5;n^;4pDVpDQMhG>8?l(tK-Y z({3DDL!C{F#V=C1^Iw|l$RZyNAE#-T@U?-j6och8Yc6Zi-#BSB+1*cPe;h&d8}wr( z^kaR{ABJY4&OKSMa}u;ONOZ%0IPN}VTNT&s@xBj__C91aaP7kr5-XY}Fbwx$+V>&( z)UOj+K2a|l~{|DWs8%2AI{l_r_>_ir0+wt3V~{S z{;S1heII^T??WiI??dK-KC~my^0J)~Lf?!SY@&4}O%^C%&C$U~~_1 zr0{@TO%s%PA2QX@G>{c8Vv8$j)rkd`fq2%+lB*78BK>*HYVeO zv*{bf>#i-g6*=y+q#{`rd((#T@ojV%rj-;CG(N=?8Q8K?I>_J5B$mg`%2H?43pFFmyYO?g1Vx zKtgR`KZd}-p|&*8fSS!^3rULa_SPh{;ViI_a-$?nqES+n%;r=;T9&^-4cU}>;TO>) zYhZk-R4l)?U~G+E;Em{B=TC8}dib zsd}nfxXv_v?*q_(*kVjEU|S{i2afAN=9>8;zs|1pTCrDDrw?H=aGTFH*FjFwzNCf~pQ$${ zgx4E8mRU;+SA1-^;;dD6Agb|N>r=b0N;??LB`#L5vMOC196n&MHf8WkEpI_NbS?r~4~^(r9*s7FJv74Ej0XlNzXyfX z3M3=K))x6m46;5p3S_X+0Toaaln*X3(Z!kQODZP%WD+><9}qYjhNVb=4nHJX0=c+` z-WuzM-WL-%4^+7N?{$ImWhQ!!(@Xw59s=jFelR3|9tSYCMt6FFBWAdCmnJ-EYxJB_ z;4n%~;B52P4LyOg!Q_qj`qFEM;VoF@If$Fzl(+#LlP-W~S5 z#sc;YK?50(X5X~??VI)p`=(vlH)EO{X5Wmlwd_dy##J!VzA^VWmQZQqn8OEa*c~hv zV`Ita!S0m>*D*8_6bR%qQCuFwIJ=R(+%POvg*=yh@yetsY!$n=KWc9Wt*5t-eEaJo z-kRXzP{_(oV&k^TL<+G;UsR#{Q+*OkHoLSvXCj?#JT9W5c&s0cFY@@fNUTpMrN{z; zr3)1kSo3uwnRjQ%_gFTqRNiR zGeK(dORzhMR^B`Us6C0MA*vZrj}qBAKMRU4d%Azkg!**7xz7wV_t|7ALXA>GRbM2j zraAej(Vx zz5e=ke|?j`zS>{U`s-tn|K49e;IHrX*SGuYoBZ|F{(9D59}E5W{`vubeXqa1-Cy72 zudnu3>`fCcsMvPJ$z@j(KJ5Blf5ldj49eW4W0%f`G=0tMKtZ%w0ZX~s*5GQ(T=Wk| zv(A>lPrQa>#moV&t?+Y;b13R7cYoGI`Vm3$+vR3$bD!~A?z5Ic`L;76-gJ9~fYnDy zA&0r#XRHp9-v_DEg=_0zbcTXP)=586w3`(LskFI?tVK(9ba0%t8N|Ve$#lNjjSff_rv$GL9i`WCJ$xc&@RrSN=^>sqcK;JPW=-un}i zR3zv~eb7Zl2ix+rq{sJw1TsAy<0XJnPD8;fdq@-xE+5*2$nkrI&;tuVS~7bM#>pHHiPn*9FHvS5{}VS2CW(=HPy`wpl&zQ-v9YnH=#gC zfw3$D+f<$_`$RWJsbw#^E|aC)mfiKEQFL#aI-saL;6`#mH9cemYZ8DroTIy_uCibngj%l1Vq6t+Jo)RnZmJ zNG5YhkBuU`K`A>{nf-3?6ABn}pj$Enn6`bdHPsZ{v^*YFPv1qQV{RqBGT^0emE&(l)~y= z-^*GjMI9gp{-WQgLUBr_0tq7r=d5eZyNk^ywUnFc$|}v&j%8|h{u?MbE|krk=!zDt z4~ar=;+Y_<33-S2f}A`&1R+yKYi^kGe+9T)@EzO)cQRcJU?+TYBOqk72YB28j3`#~#Bcz3+yDlIet@eo25>3MMFr&d0Io*g zvJKeNu@0~v2BeJxIMz||gVIJU6Gj8Iy5WIY_>Nw#_(Jc~1_>qUhO|@y8#!w6CIhw}CCCaHI!V*_h>5d}&c^29H$)t|=aTX7Tjmd#@$eE=h~`|58|dp1*$-7O(tepMTd^hRll} z`Q@;9Cx5pUZ~he(Axq*nf5p9entP>u5+l0M3C^IzGIP&{m_Vlu0n5k(v=wzkWeoXw zkb*k4Ibj+#;_cCPqyZ9Z7ns(R&k-b)KU92qv&Gio0KB7Op`)vVEa;}qQU=<|S2o{6 zgi($7iX`ZyL8lK*QW;2r#R^a1&xoES#sLHpSrI2Alz+0Q2uVLt)>iT6kgd_Uekign z(uCadh%MlR1=gAittH-4uj@Z&JON5>DIXK`Ze(^jX(lRUh<09LfXJZ2&^)1c5ulP%R@lahW>S zW$C?wgjv9+Oak+js?zY3@l~>Q!n~1IMueTY5f-0-^nObjFOOZVnG+U|tSDXcr0!F7r#y@U}+BXzd4ybNhciL}HcE$JamQq!T$ zj#hGsL}Hj4TcOYtLL+3DlAsR-6Gn@DX#I(pk|5rGBt(CoGaw@H963t%nt?J)@~Csa zO;tm&vYs?I-KSOq8jODdf6#m3r7OfsaOwr9&_!s0BvD!Yd)ThtGagbzC7PH0+EVAw zgb~5O{7KVawb+H<6PxKH>d0O8kC~pic>_p?tEk2lFPnk5+uNGi`h@MN+?;c}g}PLD zTnIS^RgJ-!jV>`?F*t=uAW_fYY!Qpu%9OE*V?;`dB$LxIxEif{EwBUzh055TRGXG& zaBE-&FLd&Svi%*~Mq%10JR)0f-$rIwzjaX{`z+ucZbP8dlU?a3!W zYx2n^8XQViD~XgD>q5$bitfRt7T1ajF@hK#Dp@qf?}#Tckugxr52QXlhM&oJ2;;9l zyWGEVs&f#ay z0dJ{XXosIoS#Q^74@9zDH;nN08=^*9;Vt4nGZ} z8LkN?g5~4N;b)eqWTMn75U;r{%Gadvq6?CRXh+F9Q%P*^kXSkcJk4Feyq*jNIZoCs&iS!LiEW=O{)Xv;CEs zV9bHiIN-HC447a7Q4@g6pa~XjH%AiLF5qJwv?7P!dgE%9!*3I>>khv)Jj>xH$DbU2 z8%ph7*VsG!u)YPPycODqTY=3!ho4!Byz~}2X_O$%9uiH~^1(U$mI;YYw|26`YBMVw zg$-2~A2n_RG3jCn4nLa$(1%E746w+CV9FeVpI**DhUu6@IlaORLz1U4IIb^{_dQ>yHzp)w0!) zFNcL0)0uKE_sXreoGwg>_0X7e{fU>00W#uV=!$)Tr2*F;KzKH;0A7zn+QXph4>@|? zu0I0??(bl#yZ+kd`l|r0${4_P*B>GcaBHr=b{$|n49FdYxx~w1--B{T{BqFshlfG9 zcCJ4Oj+*O_gB;BDw|u1Q&lC((k!_w$dDowIH5uvplV6_ySr8WYTz^vouD`ZifA9@+ z-^)AowRioQ2t8-lAGS1#aVSODYad`2lvLgaNxz27%ou zrND09Ti$%2ym_>|d91uqo`S2Vyiq2DtEaqqZ+WBS2m9&K^5(Jf<}CRVuAcJdP34VJ zEbOQEmN!bmaP^cokJ(L{zQ{J@uoH&^~#n1p=(9hd3Ah*MODObP?w&-+vxM z*F3R>a}NOQr38;l2_BacJYcj>?gWpQT}tp+A#r&r!Q)bb$E5_1O9>uzE3fXj!vG() z@+>3eQi4a71VT>3r34R<@Hi)U{M`>>YggG7*i!q0AFBa1rm3-}DF)SptggNDr;2lx|FUi*mrI!wF#n7wd zYlTkl)h;Hus$_3uO$DPY0oX?%eDbx=pSD0m6^n7*l(Plr4VD@9jVvr5i{aqXG9KZK zD+@08YJDtbArx3F#w;Qd>4d)|mjs1Ybeo&J9*emV#za!*orc1`^17p&z69Fh0Dh#DNa!sHd4&EC}qyF zu(@tjJfr-Bscj%OT{J;k+hAf(Ef$nfj?sKUnTgCC{N^1c25YV&35R-6roC`b#^;dv zENq(;@{SV(VqTO%85ffAIkWtfcZGG)HC-4Tl93a+rGuhdE+k_aq@MEiAs)v0Lo(jS zjJ-d9NX9A|nUHM(hCCCD-OF4ic)JS8v@@~{HIFTRq8p=E`8L$2%Uq_P1zmV1U_w7E zB%{qkah6UpeO*XqMUlD0^dXs*y73{I8B$>(Q&KRMWv!xA;6gH1 zz88{Nk*%?xEF|Nyqcgs=DdR&jt}<1{cAZ=Z$+R8lOAE;ed%cj1rLgxxGOI0JobcXI zLN;#vC52?RR3VuyeF@pE!G!F=kj&IY56Q3zr4Pw?hLvS4#b&a!^IHlAwiIR&3mlPT zZ81xWw6yw?to_;^am!w$#n^Ez$=U}dVa00F4@UKS zlEdQ5NK1t_?RVuOEr_DNBx{CF)J{#J8XswC_mZrQiIibI<0LCePSWw|1ST8_Kdhh& z9gDOO{I3ER7HMNy2Q8E#7FV6DITeJV0L1x4S}F!DTDNGq!OM1XG?&K)uYw=O`Nkc* zEe8uI0p2ply44SFRYuhj3|4i@830r*L#eCaO5v_n^yp!pKnpCHU0khgH)g~WU?%&0*; z+cGf?BqF{>Yq+=1Grf9xNii1Rm_v^gG4@|XxgaSdqu>MwrkpV%d~H&XFBcMq>^SzYEqRXS2z%==Sb}vPCzCU zs;5&21i^*ZzFq#03-ZRcoT}lTyaix7z+Sqp;1z!7J0t$LdA4$gZC}4uJ4zi|w zYsQ-PEe+f)eFO!)u)UJVVF@+un{*o^ev5G}trnU*?tg|_*1Zd8jJlIGF58%~FHi5^oW|5#pTE_r==3LSQNpUy4*YzamE zI=8E?rgH9C9I+y+Zyl+NweHCFIeWyCrAbnf$B*El@{uPtjF(7DNr z7cq@o);R5T?x~SFx2X)4m0pJ)H0iC-kog04eIO*IPFOn;~ zQG-v-1leLb_gA^3(d*pvE@`|tI``7@n$AV%mX0}E=YIX``#j!j`#jz{at4ieZJ)c_ zwnmpIhjlHy^q}46?ylwC!x&iTti48-_4|6w-K~8xB~#p9Bk1(fHql-nKeO}La!T4J z9xnJ5CPsU}#Gq>2-L}_=cX0RbHR9dfW;-W#hDx>cfV_XNZBn}!G@9`UcX#PGUmOLt z%VXv4b|^5L17+RsR!kbZWPp_In7`)kCPU1emX@Lf&+$tSFD7PcF78=>I5^>|Y zl||K{z?L2)CSp*t%w(b!b<4ZEEuMgP$Ce&o>|pupSE|*8odL?eFLCLCB)5D814|D~ z+3vZz>nbcGSa~K$^|EFKqK4M!%cW3C?)SO6*;|u6Mx1ZkE8ALPK&~B{U7*7v)@d2;51_ZEsOA%yHR$gzk?((7CorItePsC3| z(WtwocQ3{3E!yTA4Wzd?SimWwOf#DuVK!-gZyf@l#RyK#mK&KfW$Y(g3X(UC#O3*R z3-Ei35iC4$2v*wcw$*tHr{D#b1E{BzLq~#NyrAa=r-wLtY^k`pc~l9VM#ak5t)0fa z43GO4CRim&saT?2na@w#l9*ENwFs}2vkIC5VGPZq5IZlpn4VfOG6rH3TbDUmVC%2= z{g7>$9lM1IOet+kBD0;(x>G35ro65^gi>iPOfyVY&arfbm3R`tt93&q>h-#8T1q(r z8;_Kk3{=3%w)kFF0;pJ}luw~)>nHPqI}JID$$r$Av0IqnD$|SA20xA~R>cdiS_aHA zaa-Q%b{()c{8U%Ug+1X8)DJ4VInMLUZ&nfGbau|$P%30ucy&ENd)xrc`Y*)cp z3lp{sdcnO0XkKs=1zsuF!o7T42X#Sb%*>UgM$Tpnj`G}|Bs%k+H{&At?zkUIZO9-p z@gquALWtMM$DKyraX|JKCMd4r7ABbU8+>*5=y;Nylj9)Wc9$7H)D7K&7HJCE_#E(& zRH^};(TyL_^)9SoQ&Rn?hSN$joZXP~vfM~g;S3A>YNM!SgRTYv?bjwKgWufnqc%D* zd%#>g*8=Z_-K6uvG2&HoQwq%e^JCbyE zn4k5+JzHc6_o7L&|8+zu?`$CCX>T#9{9;l_&=!^YfuJKS#mH)&cJH*-j$Wto@lxTR za-J%`RDmE9FuLUobtk)-a#b0#4ZPDDG3TA^L@_+GApTnFcN)S`JDI?W5DnR+RF6tD zfJ&U~)lMeXsW1fG1%v&Uvn3&~gR?xGG}+yXs`2crQEry|Pf| z^Rkz+%q?eN*-#(ACd|qMMsNVHnrA zx#L`9LYvLbawn6fce9(JUz)(8oKoeVtgHOfrOIE<{Dqb?j1TQ((j2jq3CrI4b~0hN zlfgt6c1#%9$wXUx43-+b--+`$J7L{34mcntj1eldVj>=ddBo9&oCe9%r zSBoC%4tbTY_B)ZsGne%zfz$2V?*!+kO$}^k7VR-2$|#rA9xx6JBsiTF?sLc|Y|hbh z{^2@YXup#cOLEBj#vFQ_wye%C;*ek4bI5a>rf=*w4rcm{1I1*SM>AjBjR<8Nm>0yR zu{`@`9JH9f*5`i)8xhJl=!JH@H@>zm*?Z&B#}K3Qu1o$p-iT1fffgXU#23qh(ME(a z4!T@14zv#;#(_NX7zeAkU>w*|X38jqMvnQcHz(a4bKA7FCvx7p&5hD2-^ygniB`N* zUKDP(dB`oV%2ZXgH2JI8m{7W9 z%`HE$F`*?rIk!A+;IG~-Z~Wd{0On89#)LlL14rtVnkK4`qqd8^F=4+E;7m&y0ac!0 zmdpX7Hv(4Gi~x>^(wLfu$C6b_o6bsmBcR1#V$M;amY@$90j>rOCws`-w#mBELek~~esW>h*sLE;0>+~CG8ZgPY>Qe)y9sb>v2_SzJT&0F5_ntb&u(G{YYqy~K6gEfr!xbHjG1>;^{(syaL_G*Bf%+~3$46jtLeZA4)%1lNRCsW?y zH!oP-;+OnZSHrisINwTbL7ZkQ%Zyhx7IfH_xrlekZ4_9?dYb-~t*wsT+UobLlKcxa zavG~HRh#7ESY2BHZK*J}F(xuJazBOCP2skkb7Pws8v1S1Kw76l7EVK{_;c)EAih4= zM|M2rxg7-~Z^`K9-7z~h85U_?K%}oa3yB92Ky)4o`A6@*;NEFJGXfJvt;9y@=IGP5 z=`&kKs^ez=XOaApe98wnL&2W>Lo6z1XGsoRZVVs9jiV}kZC{((ZjWQ+DW9hAu6_|o z(TJ=Ztildv?Znc)W1OvD>P4 zI}2Ki`fXuG5N&sVm_(X()~Y&X_cOHv$~zA>a$LAfW0VUWIq%DCAZlR~Hu|PuOVOSy z&L#>n6ZXa>g4g`aO>C#Z(}ezkX4Ic7zKMNu)RWRhjxslJ;5=*S4fy2|~o*FzUU7LM?WDV2DG)bbS9pbE-{a8R9fs)V^ zz>~Xu>|x>L+swCHoJl*s*~GoX3}W{H!gm`D*UVowp@B%?ZQAaVbDv51*r5$Zr(WD8 z1Z!@Kg9FDB=m>^gIR2lvI*=jlzB@3{KU7#smQYC%msgtIEX>`>VU5QncSg^!|0IP)F z3j5jueIW_V8U!ggfwr2zOw5%Kk=t!g8);F^GrgPr$N+QOssSDfE(%BzBT z3*Q_xgVXg;@#w0~RtvRs16X_3(jHuN9x_oB#!?yQ-P8><^g~_2lM@!A(;B`KRE-`& zSN+mQJ8ct1iKIj$Q%#;ou4~N$Fr?5(?5@0U4AzLW$v8lGP~#`w#s0he{YX&!(YxJN z(7r`c-zN>CQIKaGwD#Y)IT8*|2BOI>Lik zvg%@s+fu`yVYbzO&MZWt#0Xlb+lMf%w~zvOP!~-qjDp76R|VP^*p_}l&EYV9$=C`&k10n2pFin{a2tvp;Ayu_Lsz;qjeU;%8eigkj;s-HJzMXb4lCSq-`P*Y{1GlQsxKR zrj-<`A)`bB!aWia7*qZAua=@|qadLx2|IChFE`OZ7wN`_Z)i(dsfasYG$#U_>@~yrQ&45j}G_ zLz`mw;(~OIcTVeL(j)T?zp$|(YV!I?)T1US=^{d~a%m9!koa6U1wP?&3FcnMPN(vt z)`t$F{-)1(ULvlB24g5;mgkWa8?-yAl#^UiOgJzFds%>px55W3xv^9LHFZNMV|e0j zjkY=ge6?v&nG(`0$!MZ@69f6(5+IX>rCf)_@BMUmc@SI`Kw`y5{k>wZpY->#BhfWx zY=m zTJ%we;if618IrH_BUV3mMbLR;A~ln3m+d~K)5}nfj9e{O)J&#u5AdF%{z$cU_u(_0F&%yZ&!O{LsrQl4FggIFBz}f@*^;!?_n!3 zep98B34P|fEZj30>VR5Rs>j`whj_4IQjwR{14rd8#H7R>R0`^Gv{3}Nz^_8HdPE>C zjjSFMu~W@0r`QE~fK>w{((5#Rt2{ShZxeS*91y?4HEs@m&mwi`0l-3%Y^bfIO$-uy zP$0tzFS_aV6mZGB7~DZEf!2{8o?ob2`l1v7t zCQ0eD$bf09W%24@3er_no;gOPB1p1UTymKnw1c^s5qdx+afgjW-5}l$V$puZqs$Cg zSXZHL>Aa8zV+oFx&zYvbR?RME-~lQu^?P*1$mM9-1wBSjFf7*^d`s{E(UsA)r9AW- z_5I9h`$_CZYLL;lm3D{d;_;yQ&}!;ayMW*!Pr%<9B_SFhvbh zW6|~qTE9HTs|YV;le2hx1iSM zO7saIs3hr6(uZTm7sBujEtS$x{*J<~P5)0pOB5L~ayH2B>-s=J z>SYzcqsAbxcbHMta^4ik!-lu6-{qvNRr;C@XGIJ+G+UjYH$Xc%n=fy}hLN!#1j=E6 zH)hPt7dP0HAnDvp8EBqw55x2c2|p~I#f-x^OC1GZsbpzM0iu5BrVaRtqoFT%ep2&R z@`u$U*?6x?>iQ-lAblR0U1ZV-mf7gMfxI%(&}3CPP)LDe*O>UN`S^Y2&6zU059kGk z_tuaOrw_(em#G+9Rwr?ZjC-s4%dcGt%NQ19bwi!^Jy)ov5bV)Wwkm9!`=_cfmyf8@ z3+xaCh6QWmCL~fIN)#fMY+GPAm|`o(V$Y!{nLqsB!j?=}F4 z>7llWx8Yx8e7PhHwFs!_T}UO>x0yJ*2Aa;rou8%q81u%VViHQ6afdpg zw!kvqAX6kw`*QTXAH%5CgTu)jo(rO7T@lQrpL;+uTHZ5}Snm&AfOwsh-WqLC##l29 z;;4}z_aeT`lYG#-*bo{!HfSOtoRHg~>^77u|4UL@k+SatqxbD92K+`AL>P8WMn$O6 z>qgL$8u!ja$PMYC}QfEl&w?ET+>u#Bs z>90wVc1|o!6sXKxwH}%9+Bqgm%d|3ls%MHb(nsaIwh0Y+iOo*fjAdB6G%2S={^CpoSKuP01M z3|Z~j8e4j3X$s%5oZ38!K-DAkvY-gvLrf!%+|wBL-m4Z(+~~dhBv7S}-hsEX5h`2^ zjZqJcD7WW|M!r5DG>Y5z&?uhsL`UOUGwWneqQReLT%eMW=`Ut23EmfNyQ=uH_uvnQ z11My~KkeL>xo45QJY~e@>Z(*lP*hdQFHD!pCF=+Q4wQwGP+9D>PhG#^MCZ++5jpBP z1nZTk;tI1^i%*+Ujbq0`gPKHq@59%2*VduUcGodIy~r>+NJ7-s)?x9Z$~Lp3<1r}Uhy(>dh6%No6*&)40~5KJ1CW_}S;{~-s0>)RJN=N==i}=G^;8%_f?eF@KXmOOlL zYrte=1RJt~P@Q(P@5__27|M|=fpU-~Dgh2OfPt*gjxGfRbO26tqUXODHzM&8BEfSA# zZVEVg-l8Un#GG}f{)jDXK8yIfsV16~Cl5UB#D4tIyT%?a4BYh1ogy|g{ErVMyS2OJ6!sC376q489V!t!RUww) z(I>Vqp+{`_$|H74h=s#1f>=L@)2_aJ8Oz&BG(zd+?K~J&U}^}X7Om1QWFo+(A0>QQ5k;`^>xyfB_b(g(d z*j{NQiB+WarHc&f2YRr2Ag>23<(`bD{D%lzs8a^`jx$$5DUmJ;EwNI?4pZ^dLW~PU zJVB=H2W`zmh1ZKbWnXDgxT>{_J!OC02mPMVQ})Y?0r@yi*>|md@=V#!_F!Gol>I5h z$GJ|~Pe{r}tItfFuFSMY1B;6*o~G4`@=yNyr-S07{M}l->Q4iis^(#lwmR}xSy4Dv zTEI{S(`?+)S9jb!_dpu3L0>-oDu zTT&6!@301l%QR0|m&9xdV_$W-!d#=%SM|(r)oV(ut7`B(RJHl!l}eRwzQ5beI`Zb*MoiiL z-JE@USL#J}f1YK_b+pKrF3{mupm;CD`e%@- zOz8xIP)vU4HQX%EO-Uxjgf&FJet%l38~O%x1)VN|8Ts=81@*C zQB`(Zp~C1tQdI#01Uo8Lf?_|QgSHepf=`022s8;2A_^)ZwmcL&{-!nZqgw^L#k|jV z&b9X0=iGDdJ-6ysC19mewfEV3?e$~Mx#q7m*IdPZ{{h8Z*T1vacW1fpywR)0Mqgd* zJ96zkN4l>q_noDC*A!f?A%g;!{TJKN5v<+2G7MFWh^t=&`m^Gi7g_Ap{ud#ZaZR+V zFaEht)K4T~rn1y&zNp}a$(wGNQm1j(kh!TkhrYzzW@-`dJ^dBxABKkr2(zWRIS&gs zJlE0-(?szKq>I!vVeSxxr3HPazE+V@Ho>@E;12pV7|jUPyH`qn%cCwZ*KEO>2~4}< z7SJy4fnQA7ieT;-R#x=bm$*j--d7huXYm5E_eKSNsV;y8?*-)b7!`PbU4VxA{U>Tj zn$Jc{1B}f*C8_2(zGTK+#_R=J0!oJoe5}C^6ljoG=z}IVeuV(I_%N}uJU)9&j)3e~ zA3F)76R^=SIiFxV;SArLS%800(aCM+Lv0VfpfkL(`XgeL1V?dQ>geb*c_xg3<^G|@ zP6?T}OnI0O?jPFBoFiKYWF|Yj5CfDL?>LTicwT{8dEtYEuW4bW-+z;N5EndRt0rBK zfAKY4y3bB%(Hb0Iybp6*BnJVC5G(KZFY4wQhu#j zY&KFp-Yhm7DW7N-n~juTZx)-4l;3C;n~jv;Y!-WZBjuNyU7d}Tk2H(TM#`hjVzZI* z(PpvPNO`PTY&KGUrCDq?Qa;u!_Vh-|2bx`-jg${Ii_J#Le`*$+jg${Hi_J#L!_8u| zk@85h*leVHxLGV9<+mkM@{HXM`RQhOg7(LZsU6a=efK+Jot;m{OCLOA0SK%su(;sb zd4BxesErEYKrFJVaQ@hHlH_Nl;AGMcrYSqVs=Z15y_xktJHe5D{zKkI(LPe#V?Pv? zfT12s6h-4~D2Z2i~+$vh8~CKmf-t)TeHnOXH- zMXMK#*L;0*0k6+ZQgp`Txk-jb2#o9Dq5LTT%W><$SX;#J>}kQe+r$`quWGc0mmvOx zpn$+$4Zg!GrxI^db>mgevrIIc$| zGZiz*P+LE=i5>7=Ka5zfAJn+tp1DonVm-YlIQBPh%k_$f5EkKAxi zV{U(TTjur#_=UZ0!}Oj9zt!MWHMpam->|g!;DV?2Y+OIjas9lA>w1_MKD9T)@C~m& za>E-UiVOeY2p;&4fL_Yf)Av)`gWe6n@AK+XDqLavdOdas_<~V7TjM$iF6DVal7XKP$zjnU>3o)ozC%r=V_ZP#f1t;>McZJ4#2Q8Ywcj3}DB%Y)Ux zA}&}4UkFyGw^_7!USsuVgjKVTvdeED&1FGsg3zgkk@=YCs(tp*qq(Y=vbDtw`#<>oQ<#hSf0FKsUqI zG;`q+A#0ktKGztwgsfSu2w8uphzBzU(o1d(2#CG8hPMfdrWgQoRXckkxlYaunppps ztJ>Mf*r-}T|JBfXDrU4b?mvIwwZDbGV0zoJpFUky$L^^p-4w8ykT3o)CO3nHRtWc!Uo#%Tu_^h z5m%GJNZs=-OpncwF;y>)xcI8%^+oflc~s%~ak1Hev;%QM{hbT`v&FS*q`<#c+zWG_ z&sFVgalKKs5)@y#48V6~ZTo<~UYnf@Nb|wIsaeid?R>DGtX8mp_)^0@Xnu1IV?&B} z?R2hsra*Z-!f38qrT}$)ErOxvez;io)h6oZTwUH!&x}zrbJa9OhY5oZ%H&+NY$(*5 z{Sg>{V_QgZ78rxZHCMMc1>;E1nybFqz}!l&HU;K*uLRP^wgsdcs2D+YnhOe>^grl# zb5%7(g$UHSl@4vlZldz0{s@%6eyKqjbe_4!zd0yJO4?i%&IagKy0tMtqXHHo`jPE{ z=!US6RXrB~Htu?@YRy&GZ1EHHs<~>JEq)rcY@hhqSa+4`FjucPhGW#4=BjE#FwWhf z4Z#>|5g31uO=4`EQtBZRZQ2gf#5Qd2=l4Wz7KQ67Ez4GNz5J=wA9B5HQvbH(e(896 znM5hb4`zq8FHN!5+`qVSf2eVPL*xF&#{Er=`|qyK-rDcKLxWMxDYd@$3rTg~UnbRu zlj=iXU?&{OPn>6-uS*@wZVJtlpLcJilyBY{?H@a=>@L60CcPwUpKTF_tc{K2F~S@t zEW51@kX^{LT#UJ9v^l3_*IG5ga2_pQ8o=V`V@{}}eo>fX3 zcA}D}4?NZ>X_RbveM*{)lr+GAJxd`UjS`;pwCR!UxSk=By-qa0;HmF@bRrUV{Ij?A zVo}8At(0nJrFC16!*?AC)GchAh-vu5JU+HiR8{! z+C*p+rxZVI(PN``rQEH3B@OQP-)cUXB};_VOm1$OP;95}hz3_ggR9y`N+L<4UeRH( z;xwkrp{t@XUMWLPEF(N0)5F1k<@}4XtNaga3V|f(5RW}e4`uAcbO_B7cPf$TuaY0} zm9He4O*_ya%l50Zat@t+bzS0U97LK>SsV(RB7GV5XX&0d9gCjE%X`o12#BA-728xMVkOAtjHl2hFP;F)FVjn&8oAgiGH{MA9 zq+O&*bbAxs_V*qN|(f+U?> zt_fuaoHY|9k$an7vforR4#BIOa%e;6da_XL`u63th&a>P)j}PKz?Af0;h(aXHy`>D zJ4M7^!p3&71xuksQp}Yzb#jMKhU5+)%C~-L4r=Qx1OP~UpD)KV!GV;4q364cdu&Q3 zHgw%4;Ax_5D=is)HAY~P zDz!t$Qag}}Ahf_5{W=&v^O+o+Rb!>2i0m`^=qsG*F>IxpKO^s<`URo#o(2@*U7Y zU!U{k9(~D=q~N2S_7T6}bf-%W^rif+qVr&}@SrMKJyY<46bgGea9 zP|5I`>~Q>3?4cm_56+$@C)mmv=IAb(sDIzdk;1!ZrSV{Jrrc=}(y}q0OkR5=;ZyBQ zBQM3u`IQWnl>7(76>>5hNx7u`V&`yGw@l}iBkAkm8>>gMdq};pdZhbZz;(xP)iUGq zerK_ASFv*Ek@TL>o$t~FseoxkJ`jm7m@jMtK_Vg=z&BjV@a80AQtYFv zr-wW2{+crYT`Y^k2{TeW>}(f1$m%dStBeZdg|LU@QCkTQ1A>)lvPU09F+;I`V@_Ps zQ#N79IAM7WJS~Igd#4Y9lER^R{7#S6kF4f?|Houarqi-D6lipwVgb*#Jiv)x=%;>p z)_fiO@SUPccC5d+@x^9I8JH~bPq9A#f{DG+_V)Gp7eax^(!D@4|3WAbx3qhKQT~Ng z3a$3J3zxd{0u%Wc{{8EvTQ6yg-&jgfJNiM|MTwZ!u@7tuAyiKO0cu58Q&I9O{snW`6D5*gQW}FLAsj->8bBKYkHjnaouA_8^(XBx z2niMGGGX84UOBQ#!7~B+x>k+yK?ts$iI}Di@?;LI07%6$>YC zr+pMi&am)*mCZn1LdIC`QuvDmIkl*R)>G@TmlDW_@Ha~{qvsI4E`l)6mrR!F!LmOe zSplo(dA}<5(6-v^FgSe3_zSA z(BJGh>QB)*W#a^Opfsfg82ND>p8{xL@BlLbf_6lRGI|JrmSQ62devLD)mldlm{cpk zS;m#E^+OoYms7ezw=S$Ju}->+((rcUA7ozF45?FQ7~yMnGCH3k?1o0oQ=*JAbIR6f zMmkMa{mT^Th6>?*HN7P>iWd_j!7kht)kOS^423Ebz6<1|j2nnuqi9QRYLkjA9VJQu zAf_SZH-aLaO# zc&l0y$E;6A-S7XBjHR^iAnL?~I34K?eCnEPM@)lcpePyEU8%_^7da#jb&;h0xH{D; zmq?J$D~t{iolZ&3PnF9yt<`%p=3wsV%nrV0h-D%r9oxye>=TVxY5hVm5CBku^$Uea zzZNOW$rOVpNO9=dhaqxw{Nu&4C0P+$5Q{WsERoWnd z25lx$SRITVp^qu72=@c5Na~e~v?6y_ROGNss-XhiF?K_s@pI&luy>DyfML&1fH1g| z=oU^XjNqm)&Mjh%;bhiG8$B z(Nn%YiDe6fZI-BZPEMwXop=N&#Cgn?l8Cdfo%t-BI;pXO3)E0`z_}%Ay@<`W7wYGdYh{y2zwP2ZB;kT_H*oMTTjSeMXN2Zc^%wIKScj zm7&Z+Xr7v0RrIWKs?gVP&t8LjYKH1@hU9E9G}3Kj$w>ByNzj*JuMaeO@KFZaJ4LZh zb-gg%W4O!|GJfZW4Q|T0qoEqX^-nUZu=cEOI-{yi6$@dQPKW-^iuX=Zrsdo=b-qsf zHdngU%gGf?o1P~4`jd8a(t32O1xL4PH2&Q={;HD^T|rh@KMZYD= zy|8m@xX27pw?n6yF8opg+it{-O>Kz67@F7+M@UVf#8KD6*d(dxT$~&}ZaN}}G)Xvo z*zZ4yl~y}@J?$cFXWZWwPn2a|XMv-Grj&I5%<64$2)|Jt&onsWwxJK(;;GBmyLR9B z*YX-nc-rQ4?c!|f_kUD!1NAfaGz|cbt_Bb*Yz}hjSrCP^jZUp?gw+tq4)&n+@xzR7LU3at~s>6 zgV~KP_bnM-bj`80B?nyFU2~}Xu?>U`%UGj#rd@+k5uns+Wfa9Vw}@sFv&{2#bj{J) zQD{FsQ7#5DdI&R=WJ5*o1X9)!`w&Y2tKXxiK&gJViwAgRMi17$$Gvp;L&~HWyvr$j z7gtj#Q3IL%%=5odj{%Zyuu(`hs+;Ekw*~$wm+oU?@e}Qwf65*AF&+4cV$MJ1&il~a z+A2&rj$cqYitNx`ui))Y42S;x-IcCT5{pT>mSMEPo?zU(DrvUuj)oZe&x3^BC z0_rTjrBU%6R(vP_?tXLGzyCgR%=T#pw-}Y)C!g5;c;uGthuSG{8HTUV>6;&ETPwpQ zyYv~!Djvbr`byl8?N$T9vSAFm!#+SG`$}CPn5x(_V+Foi7eLMQ8U*1{4S!b` zFeChFn%eV+vmwl2)6|}CY8Hc0g^`Y+CJ1JOA88hIp6;NDu=8T)n#E@4#=Eas43oHS zbUd}^{mo*tbK||aS&R{Dz36F*lzW<8ot?1ojm=`Sk@5r0VzZI*Z=1ztBjw&^vDrxZ z!Dg}9Nco{=v8OjuUft~KY^1!VS!^~^UfV1-8!2};i_J#L>zc)8BjxqYVzZI*hGwy+ zH&XsbIv4x;pUq;kk@EM=VzZI*wPvx|Nco3mvDrv@vRQ04Qtq09l+Q`fUgF&^;@{?` z8k5&^1p;muQ|RZbpaQTQk4}oZv0?Jj*+GTXlKEmYQ}u4j(BkH(ZgzBGHBfb`L;~V% zva|DCD{vRH9~g%i)-B%ZcgK7)97$G;`ieKQV4bfQBD$kPe~>h^ECP{4Pl z#eG|Q!~~a~2ao)O=y;az@*%99x@C+D?~YneAM$$+a4fq1pkH!>q?hhC58^sUro_-& zU&>TDIZ>mPlM|iuxk)m+C-^YZlc6^N%KJUhIWJScjXf=TH=$l`g*rOZLTatg2Z0~X zFH7yHu7`w<>ORRkF-k3&sD@#PlpfvyCq_dUf`PDT)xU)LcKu5fT!UO6#o{&)3I-xi zj6#3)l2R!99GpV`;mA`*p}s$23U$yaBg;?#g5XIFI&gBT+Iz=CkrK9pX0;I*#4EQb zNEdY0&z{gLL$8C)@ZRiN>mku;-LuP2qa%=xQEKSA{9Fz@2WcR{iDyQ&6VE1TH@qIN zAkcCB&RDin^Mgjswk7Lg_-%VS3nW!F`%E4xJKvf-dG^*fH&NG>_w9mN?$qSi`28&G z5|%p%+?KsE53$6bMMlp$lXoSuTXjnW+==X#n=P>0_K_(YLaZNUs+>fSuJWWpx`M;Z zp2%fPPirW-%m}~h?uAl7F}&}W-dhQat+CuT;i|QWjHzm^-_M5SDz)l)>k=}{vVZ#z z3XoPcyunT9cN$hr)D7^mVjV`{)Tl`*a62_>w)(F~!iEBU6pP1#W9;|SmzrRa*+#Jc z@Z?LL8iMs5N$ZJ49dhn#315Mqp48NVa8zPgc-;1pu=bfl!b<-N2@5joNI3RN_zWNu zqQ|-h_l0Kbo;|hXIs$K#XyY)Tzfi!(5NL7YnK*H4;@Kn_hu7m31d^`bH8}Ct?%p2F zcOzx$y{7!$_09Khr}8_Mlb~#ilXMh;1rzC%I0g_UuA5h$%MEj6N<&wGCaZsZ^S602%s1 z=%15U?6{LxyM7mG(u@gx6pP1#W32UZP@pTf$qi2d1y0c%=|@xq67EM7SZj*&>#$p( zz}Y=99oC^^I&8C3+n~d4odVU>F$xSIlbHlP+Ajsv#f}HUs^3jg;KsJquU#(xiqOj1 z=NyiUDcp^*OVfnEnNLMvNEr8A)lH$2P@TI~=Bi{08rM}KXUcy!k#h0MeXS{uoGFZ7 z4g_iT=1gh0G)9{J{7{~fNWfq`!+|oX(W?vfMCN{^6xB+{masI{hr*Dj`cTHT-`Eup z((s`KzB~3r1XFi37H<{|G{p+yX3n}PTe}T>8~IP<;F-|e8-3RVHlWs%+kQ>xqQohlkqJs1ITwUY z`&DDper=A;OGSAjP}agFU{rwAWN3miPKxnolfAFq8#c)Lmx=|t{QGUXj6|{)D6Bk?y%Sz+{6+ws-tTdM`UHU`nENM=XkrZUlkvj!bdt9C+uOw*H{e|FHHA?Qh>H~5 z8^hO~4sDzc>omnFP6u;5rZ^ogKt4~==Z(#qEFD(1@N~m(AA~rpXlmx zq{Xsej3Ah{$6ug%yXmZ*f__HGhnhC_R@PdPggb&xvYkU0E#;P zWI_%F=ZUY^1*?B1R75eqdPyl}bNl|%QOss`X|(0(f!os)aH_3NV-^=hL!JUXw~&Vk zgw=+7i|+rkO_3<{=1MBB+hwH4%BxockkNxUn!kK|ou; z+f1uG_tTKLtYbfoE;K_9*0Vu>J3kR^tdBRt3ASKi&xDQ0<`b8iY&N&0FAdpj+4`FR zQ}}*<+|4E=&oiHgh5sfkkBn&1axkJNIl@BcwgUfjok13j}+n2fQUo;L|#h#E~wc)!hU6`WhZgUqd7jyyV#wwnxk}0rXSBaqafbt$}!->EbW`WK%lnv}oGu1X)2%oEgS;pjM_VZkoZy=H8 z>b;Qk;3Y-UW=7v!!`uW(!FVxLVKhy170%VnEL3gF7&bxGoMRBe-nmT(yI{L&E?{mr zUIj%9T{2rP7+tf}+s(|vxw=1v*+xHIFmyKSzfkqirAF0ew#-~(-3(PhDc68y5Ntcb zwq+2TB5cl42yK=WdmH4|^pIWO%&?)wFc;c38u7)~K1ETm2_U`SIPHwZzPY+SMS+;R z^2>#w4VCt}M!6A!F242+5OndCZ-AgpD;I)(*iw6ibpDU-)p855ZZB`9^FNq<=lIW~ z<3C^6{J9gv#_If? z(^8DB{vXPQqQnhY9ZCkFwDu@DdHQYuf7BWu__LF2sIaFFz%Mz$qs(;exSaxh3TrkkV1>CI&qcOITBk=s%5{>64H`+rlwf5_5;5|O#U%ermgJuYQI|5ijWIR+0Q(A zQ8OzW0sKmeMS5w=oCd9joIs>?Qks}@r!uDnV)4vrJE1nV#Oo#U)-n;TSgz%Ar!uFJ z!`$XqeWZY;U0bpFv=Tc&1~~4mN%)28Aa6V~C^W9+>~Kq7OWMm0XUY|)9$A0vP=({e z?ovum{LlirslykFE;-9c%+yzo_Z^lsbF3%ohfbn6nB6ekugi_Y>&P<_s}V1L`&LjNdTf|#uC}b+VB=pSJ_rYB(GNbX(jv9z+g7oBu_3QOY(em zVcaK&dF8_e%Y4n&aqhqbr(;}iaGlJ)$1xWL5FjnM58ueJO4YuO$4G|+i|3XGZNJbt zr0L|P!)vILsj|X_0~eHek9Rw{0RG+9yJ0EF8Z%xE09V@aqf9oPw~>E;Ow(5MkCj*5 zt~bxHbibs@y-NA9`^-)9@-l#2HF<5+*RIaKjNJPqUll`VOv3}kP(#~QW0s>Il5b}K zcF4m*ah=}oDfa8Kmxq9k+t{gR7OO`&7XaRVtbCRyn|oHdzzGcM?dTkcz4cKGebPI7 z6(qY|J$lkUZj47Mq9;C$ZT5K+KJDpK`uI!^1{v-t7IdL=y7Y=`Oc*UN+5_G!vB?~0 z6f<(!uf6e?(seBqd*V+Ha3QsuMnj#qn)u1}iww7%d{VWB3rotUU37(ErP?E7uinQq zFc^8+X6yoB1EeZrMeT)sNJ+u#aIr9KQzNO6n`muY((QG%gwF*p%AY-^ud-txTYVy{ z+DpJKoEHF|yoJse&!GN}*tDi(U#Bxf2&#<1$zE97Mjagb;ibLm_={x)s>>^z=FAUt z2?0CTj26H{uE(OZxwOpK?C1s1#e6aiq9(Yml^ud*J3uA}Ptdf;OHdO0HG(>k99lzL zT7w-?r6j0F7oda zFq$JkqoY;jH3dI-+f&Gr2!TJ$iOn}NOU@AlzTLQhQ~p4LcKtAis&SJ zqsVf#CBS1=Ntw0Fw6MhX#3`XR^LaA)d19aQ<=*fm>fIKnndG~AQ1P93MWax>c*$Al8ITP=Ie~T z@iZ+xgrSUP&6Lx$N^vtW6-0pk4Z7!5(mih~S40VW8pF54&{|3WIv8Awa(Qj^65WX6 z!SQ&qKceEdP{^82ht#}c%AciO-sj4n0FCmu$_3?52T1_-n0*=f%&)6m2ehM?0L%g! zpW_0yuk(e3+-ro~zVteYFY$NHRt{ZT7=qnl!gsrz8QLIRBk4$EX%~C-XwBp$Crg!6|Pf7(Ib9%(OUxI?Jd7m2kkHz7Vy5;qbBj+8uxS%eDB^RJx`VZPXUX z92(c*AWX+d_3M-e(Fgo>D2GJe933ZO0C3mTO!x@6;fWWdyfiglBH~17oD0N(jTOG2 zyYBQU3kIdG;Wsz|ev(_@;67w&M=$}6GpYrNsRg;1J+t3+)G%XAEwCW~Gn9YG0ZEStv?Ea$1o4083i#gJ4Okmf#eSgfvDbk%((0SpG~_kzkW82Wc36A!CW_Z7>V^ zVodbu@Dk6e-q5J+*vSRW9xSGDje1?;dO9#g8rGyLgsfMrnM5vg)gM3bvX+KwT$5;> zG$hr!O`^aQ>zNqRS=OV*I&IlF9Tj-GFAYa3?txn6b2~G14`HHO6m*DdSSI zRGvIk6+tmR!a6pf2FAY$=?2*x?bj}Vix`9P$J-faF31S2X;!U@X7zAPg9CuGXjY8B z1IrJ#p`G9uSRd6 zeNH%7&_%v>6!e|^;<5{~m4|CeF(&V9F3zK5e!!7KHsru-4ZG6mnpz<|kBay3_Zt50 zk1kkadIm?ho8)mSTU}wa-^oy(g2gIo(LeiDxOOzgP8 z*TTg`A9EkBb=buTN$B_mkJHLe;vh&Ih&ud)>1aTNN|{P_5Q-j6fgl1ld>(tumkz;= zsx=7OGAx?U3lfCf??Ej|8lo>gxnCnms?R6KI8}aI4sQEXt3Mpvwn_aL7ZveG&5^vt zM>2U#-8P&=_e66*^EGpEld{uhDbA+XP=zgSA80 zYIP|pY37b}S?BKxcSnvr+L}8uC~3j5gE?Il~hMhw_A!;9O)KFNs28eAzh{HQ9S(V>H3*1EoL$ zZ|4FNmbO+x!P3xrrlF;^LW8pkqjK~{3L6T$scs86LsxO(UP9SlY~R#@u%)SLzd=ebMiWm2Ib0WtxTRFMCnNK z9pH9RpYtV})EWIq3O?FtAMtBYP=1G%#~<}zvHYMaSUrO+xq_~=7oTqWV9~ax`{L89 zkEoKNxr<%XL{H=7F5aI#tz*DAz@Fc`N5AhR0)w^S=7YhRa_15GN$kJmwMP;@RU%k~ z=*sz(43UGPGh9LWI+AjMOm+^5CmXI{WUd@ZUr#v0>XGao)aTVB-R}b5JBF*aqnu4EKfzB?J!T1}^~&gpsZk`{?TF;SRgM z<_thrBn2v3hAu~x%MR4H!C9$JsCo8~AdHppFd!Ip!#wGt7)=6f0!?GI`cpO?Y(>mt zr0l#ek%5TGiOtEyh%1`rfpjL$UVZ!;6VH=E?XsS|x($7}IC1#1uah{uatf#9>9(K3 z`O|JW5q38wPp_Q9iRpjgr*Qs~$ zur8gfX(!qvdPbrY&#eSz%SCC!=ZVB+ZE*Cit#j*HmX!OI$P5`o5~X%(e3XYMgtp>_ z<#>>jH4(FuCuziiaI$9GPO6tKy#8d(?v_v1?9?Y~au-h4 z$WKBmZBsAyAnpR$3!^x91y&@>}!cW$uii!OR?}{S$X|zA# z67=cfMD&;5A`xA>#kw1A_sEul)3F$0aC+ZtRUS+UX4xn>eK$sBx!{q$cHszJ{lX`! z3-P166n;5a>@EpLkZz^mblDMog40<$P;fezW^j5aXwKZ3!RZU|NovWDt0L4v@BbEp z)9Y47!RZSd2B%v)({1{Vg464E4%Wfx3)O)Qg3~Xs9j(Kl%FBRt)wpT(|Dz60UpCns zgVR@>WbJ}k=tL>kNeoW6N9%&q`v`DiWlZ8Xg44B(U`jxVGh;kBUEYl%$3D)7OBS5I zh`VA*Y;+rf)0Z{jLHBaCe=%ybCVSHsR_^*mlGH7=KH$_lD0>k7&U z;lIx`KM^l#Un@0s>Of(+P~@hLYrI zQxtXhlKt8hYxI}(0`Zg;VQg5L(ji=Zi6s=dmwJrdqQ87s22LDX7AHtx9s$% zz_MNepa_mZfp8sYRTHBMudNkDADM5zJ5;zl3$z|AM4<+pEHG?6{^o1b`r_45t2|ZU zS~0{nUSd%d3(xWi#1&%Uf$IK%k&`$TfWd*=r6b2sEOv{CSUa?z414l$#Gx+Lh&0Dp ze9ijB_Zv-d=s5JHZ?u${)xRd9<~iJaB5Gc1fmITs=2w^rb<{i_sIfrwt}XP9Ma?gI z_?C!N%t1@aO<<0q=CK;$w3&>W-)|c`jMSZ`ttz8?$Wy^(a*8yg=9fHbeyp?eN6kAM zn7?clh`z2v_PpvS_VTcBD~&s$Y?gROl1;p&Zv12WVxtVqD7{xN7)7@Y)v`QVGH|d%Q_--dmu_;b%b;35GiOWd0G^S~zZ0MG|ihX*tQe30UC`dkP z5Z4w&*RK?Mfu44q>tELqVmYZ>?xNtyP_m&jP0=kqZvI+nlPgGaF4XQSCgTmH8Fmnl zYm@eCB5r;qs+#L`%VJbpjGJe1iD5D!qZC`GKA?Lhj8x%ytQY~a##nMGs_S7~>wmc| z%t+^42Xe5a=UyEb>3`q@X$VcqjG80D-iMQe>kEpo--(W^=>&iqbr?O^RPqRWo7u1t zQ|vv^a_mtExSt+jZ!@lKv3ls2qqYP`)HVFSqcC+jRRfWYMc8XrYtmy{XH9$~*$3(PAK_UL~W@9~d2!d||ctBABm z_U&bqVZzEb8zpQaoj1b%E(_Xioy`tEg8(NMT0BInRpx_dqqLw_0w0n-6`4|eR!q#Q zJ@|LT0-t#BNHTa%^?0I0CfMtP=TU?>`S0YSbumpi2uKImDJs1!4( zRD5BPsdai{4vEY*cc=ERRtPQaS7YUmCPQ&*Wp}s&#>P4uKDEA1Z9WOjV|Z-RyiDzu z)(5{rz;%eAwE-)T#}<=hVpueiU=RQU3P0wU!16^CltIqJ| zyVi4)16A)-^<*wRG*bXvCP-WQu8v~!g;|ap*Xgv-7Zz~HQzlYm9+bpj@5Q3=jAd=r zxmR(DdG)3>bszQr`2+yuObkkLqY{I`H-SdJDNvn$UjxhRP+j)ukGgbMOFHnVOSz)> z+I5%wz+8eS*mzfW2`|N7Cg!Rv8w1i$62AUXqp2{l6)#dK^s=p(AA%f*CUSu~BKNq* z(rM}}0Us_(xlU#?)cGT4m7L2iEE!dwxmKgo7FEg-^zl9-HO#KoV_z+wqn0NoYWb!0 zwIojewtD{9YXDWg2r|>thR!ABS`Zl923mVwbY1ny$#yu08TmwC*)`C-6_#t~E!9j$uT%|-Umo6F_g~2Zp)na2h%)jIg(jxQV3#3zEXva$MF1BT^Xe}~;WkO}-_*XU^2-9=E{lVQv zb*I~Rg8Gy;ljP-^Pk#}{|8QD;)d7=@UcUMF95|2EFZJbJH~(My@+ZT~57#gCWqA3X z@bZ`ImrUXN%C_p}^TKW(e)%m0kI$7Yd(1E0Ji`0iZ@;~DXLj0tQ@(ZD3Q)t)ix%m9 z%t0&s^44Ly#+Q%W%uB^gdJ}wG*oYoJ2RdxvH=kpxhE-TUdiWfcI+2}5{;ElbOtyIa zVgV{izVvWA-rd~C?fZ*##!I$k-Cr!m;x`xFcgXtwUefD!mGg-mUv|-`NK#|<$G}z;K{NnkKXZtw0aMJzomNH2UG3XLt8+X7e_Y_ zT#>2N`44)jo9a@0?~6iIg*IXHp=XN86WOsHDEO)N4KRcPic zRh`?wEe(Om3Ct_~T6}e&K@{bJ7>o%vJ~~uAnVhWdZXer`vPgEz?V=YKHeFLJM~QHXH~_5uEdeaDyr`H?=^jjM~H}Y@JQCb*Cr&}r?h_paRkepntlL}PDnpsV%7SH z!u6kQ9?7-Y@lEy=Ymrb9E}0<2#3IeEE=}GLE0Fqcc31EzWhI<)^B7tM{r<-!&uyO| zs#&d>2&EFb$Z&0%Q2N5^VdTdX{QYQB{lA|xc`XWq&Dq;WKj&{BtKUlK(+_+5L;mLiqZc_ ztM~sGgEZl8dhu9z@jvSqEeN1@ylm_3=fc~+uip~ds~3M0UVJUSaHl9-9|exzqW3apEcBMra|X~IJj^H;`SQshO-f>xE_%TZWGSBG72u%S|c#6mX%L(PEZ|(Q@hNL8b@X$uk{ml7G5o=x7@{@Tbyy zP%cy{*`n~D81hVbY9a;8*boOvXm!rEQT2{1%0sQ|5p#szv;05~Mo%#c9e@-X)T`se zOmf&u17(#4JW89$mL=nE049zxBgG`>u3G=PG1d$~&{Jyiv2v#enI70!xkLE!OE!`4 z#>*z@VTZBeOP6?FEFQC0#AqEeNT5C&>ajb7dM-x2UP=Ny7DVzID`}guAp$TvYss0% z4?gZB{o1VhDZCUY8O9zMw^+-2!`r*-x4D7D>H6d0?d$5d;6!x&C*j5G8!z(Pji#&A z!o?Ca6X>i!7dd(oj8d(rDkV9lh%RaVgea)<>=0eTZ@?J*fbUPiB--pnv?VVme}9;q zC|jgG5t_gp`EQ_rg&pEKOb)#N@vrALmKTGplps;^=pO zC~=admioJ3Lw&E5-lQdaS*p2mU$@yhZuYo(Smd71It9~hWxa+ll=V7~h2VF3%)SFi zOqTrDfbrY^(766@{*iP2|GT>Wm8Dt!>nu3!;x5VJt$1GsE?${bQ2Hqz%4U;L&MG(8 zmh4`D7|wv+^#M?x>=Xh`d-n#olyDwjQJV?|Cw#=$=`>b(B2_v z&IWCl7y7Tmet9t$c}=I0M%}Z|Z)?wf{uz$8QI~F{6U6RL>qA;SL2-@1dg*SVOc%3@ z*zEr++K=kAD<((XPsuELpX`*nC)+zizcgO=_RgYrUH`P3MUQXRrOP&p-cr=G`ZSwG zpB(k<2A|3s&Z2u@#9N(3Z#IiAL%dbqn)&`Yf};QLX1u|d{xM9!-|^SxU%mmIF1pQc zY~1f}+!u}e1C9HGjr*h3S{Om^9j?`0Guv#l~ zmy`zjD9Ner`^%*I(Z4V zAE`Ac{EV$w2r-X!@lt{ItjB3TN6T_&uqi{~m`W$bmI_(-M5ramYr?XOmRPK3J@O6~ z>$?~nI9|Fcqp$FG@6@Bc+2QynSGZ$`pf&fz2^<59OV{0Q?z@AZN5Z*9M(5GVrJh2C zXvX~qhn$h%Vd7W~Y*1lu;dhj2hS8&pFLkn{NReYrpUtsVU79)OD<}ei!{a9vv&XZSc}Ke zy@7k520EY+JJCW5ZO=cSnz=LdO8MHOpXneRg@> zN|LOrbV^Nb_0ptKx>W}JLRB)UKs{rK!!uIEpk!QRs{EQvhEgKQjvwG1DM;RJC? zcG>cW)MpQqSsX@X@+3SEW_UYRHak|RmX(!$Uvxr!W;9vMKFtJYs|Gz}Hjw&?UNWotuQm@w5AQ3^ z&U*Y5G3!Un-r0own(%b>p^Kl+dAqIJfkRxY;^}SU>D{3=+QCS2F=ir^Y?{N&@z{xp zFIac*fhE`HPj~$PxfQ<4YHM?5LcjITS-8hPLF!O<=(;n$CAp8GgM(H8P*z5|- zO(+c7$ZSPcs*p{CYr`x!A7{bFx(jsN?|=1D(=RyRkb<8|(tZC7(na3f#9TKDp0c7K zza#04#StMuBX0>(cQdt(jIY&_1*C5QOVFX*@<#fdDDee7|h`9FRG+%~IIb|`mgNZDcAG^FH?rR)gl*M}@G z^530um0KPx<-TH^-O4sbcFPndhloJ>#)9Hw{Er&#^P3ckavxH_w!11V=(OU(-7&sH zNE08YEkD8m>{b{-*fK=$l73s@JP1svHMT($3!X(wTnX$dy@!M?n@_+QwZN2>-eZIb zzHX%VxC!8{OYgz{_7iYk?^m7PL#U{qZIIsM#u8QZU5@5mToK2%q=$@0AO0O3s|1jA zBVR?&Zj`ZOfq%-S`(XAhrS0HntK4xPJ3ROaQ{|s>=Y1%q?K-^&cOkt8cXOxrI9k0X zJ9;~z2qdxN&(i(hn(*H_C~?RA=h#@WlYe)=x$NJ69}2lvG00L?@JlJG?nmi{V)?oJmL3B+@>7t?zP2P^i9y`{_jb1`_~ z@tYrb>(4l9`V-FrnzF+)(|h2Q(sXgo;5da|Z$zr2P9oe`BoKWBv7w0zp83F69Yq6T zIMkwnYBoq?_j;hyklf=&tzlSo=0SF)uc#@{`tDV$mRNPa|0ZLTVJW;0O``c5kV8(% zz%OyzjWO7IItp0XK9qbXB2Lro#f_rkZmfRG0AemlO^34~=Ed@uLBmuM-TxF+u~#nX zme!zHW+5_5{REP%%AR7D4hG-A9jLVVVbL53sLkGnLM*PVa5?5+*dYlCY;>y;893T!m=V_})?-ZI_I z&ObE?nNd)tJJLbtpMow|fICuubx`WZT34GaHNz?6>y9i-QZa!p3I}D^>{R$FPo(U! zQ3hp~te8b#$}W)?uIw%~m0h*(=bv`goqt+uz(ZKAYrbE76W~d&bp&~f+-buC-SNgW1yyVio`-_heuQL&oG_A zHc`e3dTK@)!>{Ug(39$R4vghh*_L*MIdVUW9~6*-1#KM63NmU)CBR!V<;cs>H_Ixr z+tFi>03zeA!%Gf>tgU4g*=;#fA$?^P>C{<8&9!`YZa0MDLC1tNTD%%n(0t0je1ko_pW$;pF$x^Wrn6)%e%NT-c+1T^3$i81Y z*7ABg)^bs49hosC1fT`%wdu!Nif@PfAVqPl$YoWoHczvRVXC+qJJzz}XPfQxqmXvF z9!mLGc37+&MITV6v$Awmuq-<$TmZhI3ht_nys`5iR@k_yj~n9w>$E@isp-D7*>`PN zz3tJg9413;XxV9|A$dZ;vyQdA%6Lo%=oQ|q?8u^dtYxPd%M-#j`KZX*;&iYnrygtB z@nbC&Bw%}b6uZpWiQQ0skTxT)kF{)oRArEv*x`a~IM&i~ioggrKGt%qmhidYMJ?LP z3D(%l8IHBIR31Xi5gv>jn2wTffTDd zi=M5{3WBk->K)%Ns`}iTpVC)(BH(6NU? z@&GbosM@ZuMgqC(>=k=>z5?_?kCnpS38n2y=|1lnz)G=SMr34O4A295mduD;krA0k zBhox8`-W?nl;|d6o{RYEJHvfQgf)g@=gTC;nu5J?-UCFW$J&JSDE7%aSl9uG@bv>_ zLg}s;s71h}^W;Pz7$~N4Fj2R~FPB1_TGtUDnZHf^sZxpuVOc{95?iRkzw7tEtoV&| zXC3s2^lt_|;$P0?q>!Tx*-)QK2r~^oO)Rb;O`0-MS;c{(<$o|Sgm$jcA%-}pQAS0d zqyh`0qxcRO&m0p-aPT2+L>EZrykLWTg+N;5xJ<+oshA+6;qD-pM&>gNcaav<H^j`kqxME^j!7s!rH=^Z6HE`RmJ^tmazw(+8FgSmVFw)( z5B47=iTzrRzcgE!rSYeUnK9lps!jYw3@vbhP&vR@$I#4tM6lp00j!PDS-t>+ZUf$+ zK=Ag0T*fj1h?C(fch}9>QG0Sjq14(@d)~<$Jcd2#2x3#K~92U^zR+Aqv!%+mlv0&%gfzeW0Vf3ssPU8cWc%yYu52iA&Dd% z(vLjXYRuF*2+wa$I`B|WI?XmM8kOn-FyMm1E&sU9wsx3l=+WY(Rcbo6opcH36#vv3 zCi>wDx*T(hgf5zC@l*h#ubw6vhEJRcWrDzlC2JLu>F(2`1gCmvXYC~J55!DTZvuk2 zjb&LKJxYbSpt;lM&`w`tlPXYq?IZ!c_C9Tfb`ri-{WAe-PEaPJOl}G_h4)hb*yjLOxJ( zAKfTYV4{$*M_VGT9ip#(jRg7E!>Tps_FSG-YY!=Q$fDf^C$?5N

`pteBXea^|Y_ z>twf;t4jQz7qzZmU;iK zM?r(1Twv{Pd4cs}&ri6rz$%-iSiit(Xv*eXV0E0r>E>Kuwes@NPb{!{Jr}jWN);1p ziN4u{&TZRT;)T{YV=eJV&PjA$=gVF@>SeDTTK4MsBCuUB=zZDCE_?k~;g^HO4y{7S z@u_7m-0j68%U*Z@wCu&Dx$G4R_OxiMWiQ+sm{JqVUfQ7S%U)E(yTX>E6xKGj?A65w zfJ0H%^u%&h-3rTI7Ac1xV`AA0e?wgM>K<2zEi8A+vX_j~S<7B^J6Qg8JLAh<+tQBt z_kcRGyY@E7Wnszm>t(NN{43WiNZQZrN+mJ+}tiMlyXCwF0fz5 z>C-mfn}L`!dUaUc3BDFhr?#WY@)KsyxmM|c83_nr5s59{8vhL)XS}a>?xvXo8 z6u26m;a-?$v7kU1kv(8qT-G~i}P)4J&xc$YPI#a*jZSN2-8^=c$vC(XgdVly=MvYVF_5Spwqy{dI?l4 zkO7_1dR%b5vs9=^%c<*ed*MJKub(*>nZ@ShCa9YF<#=R==>@LG*(wgvGh(2{_63?90<93Ag zIHD}JQiXp8?%J;|NIzYXP~I=ad=Sm*-4gv%obbtiyVoEos?$9GV3Lr1iLE zUm;jxJ+9YWkJ}}}ZAwZOJ+#X1>v79kEYJ!Zs{{+I#}TrGMzE^QQ@c%c53dUAa-#(U z_@-F1dVbYtU5>RDiDlc%w4>+_b7p*!YwJ`#ChtZ`yyXa&ysI7hO?lV%ttN}U08A+A zgc#eSHHSqenN3kr;weai40R+p8kcwQRpgzQ+*saGjscLr^#toUgvKhDx5+!!RO%JE zkbu=BT%E$ye$`pKUEVE5@n?$(O?lU-Eru9)m;#QSILwV!Se-iI?AO}mc zm+lbE+J`Z1?ao$`SXjA*1q}y|*6yU@0ezO##7m25Yj;l3lS^?3Lcu#GvL@8ld2QW={SV{3OSlWTVbvC$^_;9P5WTDpx3=HhRb3z?oY*Y1cK z(@J?<*4b$74&uE7L9uA_aFwfVVr*%4?g;bH0F_T$!$UnyES_0BoZDK)C&aSE}w0?*rho++fZIiyHv>rg(h(_gnCO` z_Pd1z#+|~unPm#F3QKr9rmo%9t94LEQq)mbo3GtDl8iL@)UJq9iBLa{rnz=ES*j+q zzSiy{dS?<^L~^}$cO`8YYj2z6`ucC+6N;47P0ZrF@U&t7eO6VQqz(J>MW+q>qBdFN z7I(7Mv|)S-;jc>@_L!|nggE<6(}w-+8`J7VF(DTo`mwBGdU#z4%D|qLDOAFCML5G?Iqt#VE7c%%ou~ugf`rC1lxJ zd><9Nmh?;eSj2C?qzxK6oY!OJbUv?M<397GVQT8J*oS`q5u1iA@33`(k65}uFEnop z*`XAcZb`$8Z<6V&)6CptrBDMD)3`oq7=lYLrY8+UE8|d!X-UJdHT7af(lGozu1vLt zBxr|K9!Dksd94(qxnWy$St!-7kTGmgX`|Fp{1zG?Lo$;CLk7jeb~~A#C?d1n4vCan zTN7t;V!jEAd`h2y1;hhX2>r`wyG@3z!}ciV%mOoBJl7k`GDvY2aM2~2#d955h8kr% z$cwHfH>G=?)e0O>=Duoq?kgcRmJ(Np1^fNqeKjie(=ZX!KLeBN^646sY+sEsGb#6y zXJ#TrC<|yxq9`h~%uL#M`C*0cC6emRKVaa3(=RD=v39S`PQUa`LLdEo7Vm5 z@wy-1N*hmu(ik zg=*UMWwLe*gzRqO~|n#+~MN7zC|e#sLbVU&k$R+lyLk+FB|o{hp8T{_i; zri3&8<4QyH<&2es{t)Z)8!ZhHL>QJZw<8UasaH-mvgvKloTaRpGoaJ;vuPEW(;=0^ z!1N~b z*;wB03$1a+%EFbs_QVr^{q41v#d2k@y+WO??6t?rxw6;(%3gcVo1Kj1zP_^8{%N$= zUXHT)_u9|)>0jAv&jF6rSauzEyI3lkr{P}vD6FsSwU3*1uk5uaVT&Iv=8pY(XLY3< z_{!fyjJvIXgne*w{69VS+8bNj%3k}1TlQ(P*IpA;{{OfcyXpVGve%v@x?$eN>HC!L zwRivjW_#@$gmz(j?f=pa%nCOK6uxq90NQ;yk{5z4+(w)c{JTB(0B?d3lIK`-@4QWv8FPoi=#+g~lb zq~HI~+IpJ;S{>?|k>jt>$yS2ObCUyA?^N|n<(2iGh{ zxH@aQyLA{-?z>&=qI@@0Vuvy9x4v@XTai2`D+bT>SA)Sf>9EC6kEOp+s-KjEe}3E@ z73j1Ob|&+XY7uwnIdoRV3IsPDYR{#qLffQhKTxHd!?AQE^!uIq)h9= zbCYBU2M!o8t*%!t0&Nnb4LxA9tae3zMBDcB9UM5Rt}KXQ!FUS`Hzu)X2Fy%baYvr(ImtzyI7# zJjm5e_UdaIEpk#1s37-Cb_{3>&|!EwKRpbOZEHFVHLPn)3@!hbi>LjPXN){v8}AsiuX+$J6pIn1)d`U9oxJyq?!VY0fnV5stzQLS(cD31!W+dz?)qjE0nUKz$Vw%lVM{z=8#+Jo0;~P>^ER#) zLMW`iDwb6bz(W3ww(Dore&>pJzcYPyl6*@-U#fe|28AMP1d_11T$HW3+GmAoL? zudETOkI-vU48WZ}4vVgnWQcVzYCRJKsNhf{ZyYGrw6@J4S^Y?}z#ahw=Ao_nY!M+h z*Z|9H@F3J$efqf@L!`QKtoU93i$jK<-cTPUDlCno=j#lPpD{7o8WHvszKsaAH(bm#Jx@{oJHGOsC@@tG_4V;T!LUS*KkeTo*>|gX?nciNu5k zXLmL@yR*UBoej?JY;Y>s+6Ym!q6YoQfiT7Az;{C=u)8{40|At)qHmte3sP+dP>~*`~jUWMNNTZ5^Wyp$0*330-vh zH^Tt8q-$Y{qZRz1i7!i@GzApK(kO0I2hTJ0lhKy0j48BA)1o$nbflEANItU82>RoN ztz#wPHn0zsm>5~V|25;`mz^3GH>8Ftl|-A9AW%~!A>Pp-h@Wl{#Crnw6(94g9?NYz_Rp`lE2K;7Wjx62Wx)Ni_Z{9lVVOj5g(jLCKd5=M<`6{r(@k zPJBvv|IjYPr@|riQl=?a>cC-}2+UsPthLipk%t3I_2l`nD6@orI3H%DD&rh5(;98| zX6R;Z9%o7ci~25tgR$|sx&!k;f>2Z?M=_9gR=VCI7dp@%{6FZYC3Bme7`mNn zwPoC()%hdDyD~+h_IC8ZGU}$}ujcuRwHJ=QG_WpMDkzm(62+($^!CAj$l+MbYa4Dh zOmiP}{3(@>UZ@SJ0(Ky8k&>Ue=nYeBmC*-1l~H%Cpw4;&>XcCp43eCAet=e@^T>J` z(@$kn)Kak_*mOdd;#sov0_>SK9u<=^yM?64sT^y7^V^p-CmE=j8@$Sa@-SVpg_P9L zL0R}B&sb@*TNo%$TKypj|E#0A%w^NRz!jY^Z4az4wUmxmu*#L{9p)@sdC?wthQw8= zs;dlfQI=T`m>LR5w539hA(UY=+mzQjRK^8zR^lw#w}uxZkmul?L~B`6LfwhDa!U96pK6-xtvK~s4Z7kmZRv~5>(5~b~~4= z9a;vRR)w_;Q?){wraR!($5Y$7ph1EjHMRL51z&HQ4gfNnVsj3YMw-KH)c|e`6Atz} z*k(y0l7nlwhl0;E-vALbt2@iGHbo&aZaeL{)TRD^d%eiHuLQKlmU_cQn!&))s4SPb zrLRV-)4`#fH-Hg-Fk2fcD>yz9@FeZBBuUKCAz5qb3tpG5z3OTv6n&96>Rt(T$Pa)j zi8kK9t?c@X4riGv2dn4<--9U{t5%Ye6o7}mXJ#$HaRwjc^l6pF)p2xL8OY^rx@|em zIs2t1N*YZ2DjD>aP`T=ATV3jj*Pp7^RAnJr(yNMNcloK>vv4qaxBz%d#BKY4;7L(j znP&`MZ{lhsiVU+RigH9zENmjvKyB~aM!U7B0$`l)plR#bAq88F7O?Zpn&i5Jy@o9! zsa+y~I=3+-evH8rY3pFscv;yG@MPpO;h77b1>}n|^R8T8M)0iz=HUgJ4=Kn9aOtj^ z+94q_?9g+lhFc8?e+@n1rW0j!3y#Yqt)Ud3!y);`rMkV9LL;dSD}&?J<42l_wseNH z$WANrm69=!{i42 z=51|hmWvU>O==)eyMTa7;6y;`Yrbd`CvCbPlhGbz9GDK|;nG5j{y==vaLTT#%0*9x zt2J>et19<$MNfSO1tm1lx~&ul_}Stk8WP5VyRup zlB-<-(10!VThqD2ZNLBi+Ur3b?{d!=6RI>_2MVH?3ovx^H@j@}d>8 zn~mBSgFzuR#ep$Ms4xa6Nb3*!h!M2FmYT$XAVopGDCGi~*_N4e+4Kr1DWe5zrr-Yw zlVqZeLm-@)LA3|78?1^avST~41a=qKGct7!7im&G8dlP1{7}FDg(foHOP63l83u+l zzDXaq34)iE04#BhtDQ;plnwbQBAQuV8R*KXs2*9)|+Iz*&0u4Y>lUN{upYs z>0+(0#$yCx6A^=8V*<(GnDI}Mt>j6X<^AfDnOPo#e{fCHDt9f7xd6W~LT=0j2?#c@ zd^LRbfa!z^VjYP2BOe?ZePP3^?+8^rcP z|JRzO-ab|+PWSzdx!Rvz#@51RizsUFFK zSCMf#=FJ2#_6*ic2Iy7m)G=2}s_*9m+`K@={RUy(^XD=-f0OE-aQ%~%ZTE<`gW0Fk zAW1%>MJrWGg=T$iCQ1%wAB*39V(Z_2Fn;^U*1!F^`0dYc{o4oZTSSC3S%_0o$_+c$ z@Fc0;JG=Lt^sz7vi%Y@@JCj@Wobz7JuH1Pv&3z4}BVXEY=GSc>ED!~a&&e&^X7X^(eY;TAuaTBwhd ze;pyCQxgisO7zOB(DoqkKB_>u8y&#nBm{O-ra8GOY6AUYH=01XrX|3uinV6ZPIV6v z3>d8Pg>x1Gbl9mr&mmMg|Lsq>F5zii^NN=7b?!a_v$BeaaZ<=pR+l64KJktYc_oQhMc;jjrH^*# zBvWCnTm)f@CL8(Lvt^vN{e&GoKRZAjfbJj{0C|WD&dD2aM>(RH@oS~omG%igiLRqU zUlOGQj6wcYmhr9ST;~>O`W>J*&(6RUe1;YBtmnZExEuyANCw2`D8AL4NP`;~w6_LZ zYPQDDW@{c1OXG4qF;qabs9Gww0qHtX18EjI2AUheVjd&f&4k+YXODSwDh{$7yBGmGGm_)X=PA zAGP}!xEZ_+-Z5WnZ7z=xOIH+R&!HwE8i3I6jI7g!EN33An)xKT@NNQAP7@;CErZ+D3ULz&JtRF zYKvS30)paFp_<9D`MZAqFW(|AewD=>!o?Th;&%luem~=hAq3TbkRYKF4WxQNB0~Vc zzkmcXP4UFTnwI zeS#}z*BH;oHEKM+!}W2V_qd{TA`=#1q>=>-itN}?EN}$vLiK4L?c|Db$zg?(&0zqC zk^`_@Mo_Vu4ZeDAc`5789c2){8PHHIMxLq$Q;9cE)X``U$pj7Z0xP|z$VSK z9X zbWiZ(R2QKY!_=mD7UJM1 znT%jNIj;x-7|ko41%)6S%`D#943}7d=QgLaSv*?va1wZ^L!`N z4?ddH$K{l0eeX?~TQGPrp!O2!pc{?ve36GLLqT)TYC`~1??G8G8MY90SR9b%oHJDE z*8=(RDtVbP@-#opX`Dum{X!?If`y7ffZfOPTb5gja3rl=>fgh_+&wD&-0e=L?2n6| zzXcZ^H`WY5+b>&ABB6}{C*XkwWpYW&L44bT><$9&Iq&<}a1GLS!T2paQzLoVy=dXCAkXyqi)WgSOa)lnq6hm zv5t&Ei#kawG?E8(3vWk}aVk7&tDy$~13uO+{>BzR+DPhOPx!{9!m|P~%7W0!P7R zJ8H3lga(g$xw1t!gQPc1aeTRYLY!T2PvCrmuJ+;&;9_(mEvql5R3wyA8n!&W7WF1_ z`!qkK`j>W`dD)e&E<)=b9~`g-sKZ8VF=RYvg%l%>Gf9n%I!rP~2uG0^QXNf20cQrf zt6?2-7m3wy#XNPm$}eiB0|SZAP*=T&J2=d;Pp&q_TvF;WWlcN8gSL}Ihm8@>)# zy}`~ht3LPsbnt5m3H{PdCiAM#?5f_F4p@mdbH+qY>o^6WA6OIo)LDUTZ zOux;*lYxFgUEH&5p)jn9<)bk~)iw#LEhaM$QEj(0?x5QG$Edbj``A@m{}|PFYaa*I z*5FaQ9)8S1_7{K_P6M4cYysO&h_XSL3zC1Fu?vvekerdaxi1jar=$rAl*kb;4q2!~2mJyWIQ1JF`rrXXo|pUD=ict4R!eG0e%a?(I8Bhjm0~dVTfxW3^O=*e!u^E_Bs3BzPHt~Y{2H~j7*12e8X}FRGzb@v3QSa4;iMI%@V;hsz^l?aNG??WrQi-h>jYjaS z-G?7v;axE)w}!z?6fcx`xZ_*f9WM|(dgKMUnJ;AG3M_O%!OpEmhypKdXR1F}UaX|U zsv6wguj(|ycX!})nJ?OkSPaJ9^oChIu^5GJFuN0WOKf!@YW7R05*Z;J7qKYA96f0b z$&P7ivg-2M9i@pV^!25M9WTaK3Q$;rwXB$K^$z$bc#DvWSiVncSx$UfU zh)C%5k{a>+>~`u0cj)2n^4h}_2RGJhDewR*%cTkqAl*w!pWpSAq!HO`x%{JXqvpJ~xPTX)(4Y?^>uN0XGi+_0}FRv;XjOzQ@{ zr&l|m7V(4i>8K!zzAPp_^Z z$^pOc$%RR{fZjBe^x;p=1;fjik48^^ z*-Oa^iy3V3eDUe+0K&x-&NAur_X0SUGJ zJiqMs)Rq;z3_h^w;|_&h@@+S@i&)yNyn`pk$Du`nuo35a5BlPJ5@$$k{{s9+;tacQ zFF>{~^J-CMdV6#=c{ubL%zDJH<42ZAi}!7OgG|D%R-AOdJDQI9myo{$ghS89?QU@n z%HHh%`2nHfs_EQA%-LB@A4G(R4FOJdAU=cY&{-UZc=gblK(76wEc^Kq+}{&^Ou**r znTid^{<0-}w?u|!BN309sX;{!8Fvrefa%A~ARJ<5kdiO9G^}zXLNJn4IR7YGXQ^1eH5T3j&PpUtV-ck^ooMCZv?F;TAC_jcq}T?_b_7XQy;u1)) zU)C8u2#yUla6@pwb!(c-eZjHDhW+cn!7}&w05=g^JaV4gxa^#fkmJw6b#d z=5ZrJf9C9GIObHjMQk-lWBac`& zGvq>j0a+LYdOe4s3sJPCCOtYCvFsM$*aXNai$4yfzKb7`8J_D~Cg@^D#W)4y+D9Uo zU>Nat#zur($T;1?I9_?^{(Wo0#r;&YY1-YD&vrJ2u5Dgv*q*-l0eu%rud#gM-bWfQ z>cF-~Rw)umCboIZ?UxhihWq7(-82f+9ZdG8ntU{v5mL;-_6#ZFB!;wCdP8GMOE_JT zYg53%SmC~*$g(6SB$D=6agbbXC9xt#%l)d|HCi0dE1PXd($m0K9*$Py#Q~d0Iyq=3 zcL8kpPEi3xg}$chEEF!aC0chp0}@`(AOUL}BVgl2xW{&Jo$K8jjgmHVBEE;;)hqt?mMO~nVL28EzM-j7cm$iu5K2{`#8)7!Eqa@J5@|>ITdED5Q z0-ie&vx|x(L;E;u$tc&XrKhrxtj*jHn0p*cmYI)FX}40RSj3*G66Mhr4yFq8%iK?3 zs+li3wsRjaRnq>~OqEDS=YELBp1E(BDmQxada#*0;g@uN>fDRA5V1B2jv!O4*=k0) zp1T;VBw0(n!B)yt2VeWCs&E&Mve#g2nQG7p#dfgF@x`>MMvAIshDSJ6achYz;Z%WF ziBCRO%gl{_su|@n;*+HVGu4yCr+v126Sj`9OzzTbjZ>B>nS}s%cQe*dA#$Lf?-N+_ z9uHW{s~ou)Ut@28OA4H_C=@Qz=zcGaVy53`0m8WmW`Z=*1(1A!51(U#ci8+n2q7ZE zxrbkYDTTDgZs%bw2T6s*G{~oiW@ehU{h#0$8{h+NVSRyyqSS9K&viTZVc-F09`3g9 zd*l^|JO1i#SfB2*5<+zUDfDV*HZtoquhF5TeEpb(#Gc`H|&uf(=WGKW?6y5W5%^LyK-L zM-Xc^;M^UBrp&X4a{3wcr_3~& zSj{x+S#p&(!7VFjEM^cL$Vrwf5hY5cE0?HX?Kh8jTqO)1Ah10R=F+&^En4Fm@P)~ZL*`{1v08QA zd;z8qABi%i?Fti?c2SZPSbLI$xmtzt!(26K8I!B|&=}nVt|mNa-}@n6Kjca}Uu<0O z<9gBUHo3}DUc%fJ>&`NuB&dt8J)wV2vvjFtRJg>r*{q~4*%vPwL1iE@hT{kqC?TJ< zahVh!7Bnss*#r-slk-VoPpDAuij;oiip1}Yn?qNm&ijstA33G9YsN!YWayENrztzt zddZh2Qy{qTJ>wY26w&W0V%<^P)zmDa40+f_^um;y1!W64ifXX~0UEQM?rJ=+r>hvU z0F+ExgXK1NniFeO9jhXqIT?h6Qy^_PVpB4JjP|9Jl90^Wo!_&gsT?F?uQw+oun)EJ zS>6=eqPgOaI?zkB*kOV7`yClVN9h`dferwIqVFW0iUw?*LAmwEJ-tBj$>ZaCyeUBG z1b+jaFk)mRtY(aXm?Z*OrVo}OW}$%WhLwrl}5k+m?6J z)6y7}$FR_CTr@lz_k@t0Z&W|Q@$2;As_5EJNfrwlnwskkoY3oO?*zDAg=FV>(mxPd{y zw1$DIBgCwQ89Jh>0764i7ZdjB)~|xR%($W@=oat&Kib z8sl;LI0?oXrh7tjq1mlP9=W-O{_=?pO&;inwrS{OihU#IF$FL6w-LwknPeUbC%KMu z+!g~}ZPBBg1NsLNQucko&@pCp`-^b%7`4ci`=6uWdR1%VH&+OhtWXeX4e57Al@f4c zI!^ih#(XizQSP=hv+S|uyd+n={BFN3L=9BZ5u9qgz*5xBbrgXNh-56@GUde-;kg$h zwmW)YoJ6ii;6zY)0u6>qpi3v!4K4ytV`nFQtsArDX&*Mm;MKS3>yC2djrb{XU=d|1 zT<1<4f^))`8c32LhnT?vVn}fsgAp)z^H1{1Z1&Vs`VbGxhiLpwqNC2i?TorX!Ot#E z;8CO_%OnAQlovikzvP4Ip7KfsT;$8Hm$sd0ehVMwcYPaU=n0kqIFgYUWLQ94l6H|u z3@R%iNx^AXNO9Avp}2h3GNtGXLo5=;=elcPNW88PKi(NlD-xV0@xjhNVmMSBy{dts z{Xn<^T*=Wg?Kk_j-Mcb*s7PvY2__P0g+cc(k;F>`%10C#Mv~_W#7Y;NcvGbh$F+p% zcyT=#+k~;TLFf%{akdU4+fcJ;AFiBXAk>Tc=TTwWF!~3~E6XryZZ!x+xrt)}HC^Pz45-Q6M_x816RRbn>5$1`|eldy~WBN7bdMAV8qv<=ExD-aiUKuG;zLCg`ckgVTCo2eIZQ(;ZHoa(Eb1ShB&H@!G_@QP6))vAY9^p`%*3c??4i!Nn*&|C+ zI)D)BST(3AjBQPW6te9b9CE5ng9A==Qw?6K2DgK3=Mk(-phWY6LuqJ`Y!&i@T(?=d zUy zK@ayGOUNE(WFT^Zw*O+}U6SP6kEI~FRp`;Jp@zG&I41)D8%j!Bf=8GO79;V2*4>eS z{N>>m&6JzCZc-!Ja*+OG%%?~{TZXVmlWm8{-$Fwg@@KbfwmeJBZW)7~*)6Hb+t^XV z#xShSZkc7bFnM=N)DyjRkbYTYV)a&-L9<&((E~?>mYb75qzSYz6N@OA63d?OcnHiQ zldE|Gm=_)*-&ml6+d`DvB{uPSMW#TXTLUNEE^fJv8ZU8J!ZXC#{4!J%J4glr==ZY; zc_c&>{F+Ey&ew&VR+{JJDt#DxQpGY}?f^2wv~S;oUk#{Pk4^91=EaUwk^VjK?h-%l zIbfNB&f!Yy8C4~YQL$3eA5B%4l^Qcf$7a)nzl0?5Dzun)#3K?^FpnUsXb_)V<@QD` z?x4%9X_XP1T=!=R(uw`0!-PSx!fd-Gl*Y}W;*CBCP|LN*c;JA-d7B|9%dpI`jisAj zT#&$ z1LPWgX*a8pqMxe1a4CrDcuddkkeXp6nP(mE~ zGgLHmO9u#1AWjBC^z|VSa^pH6L}iKW48L%a{U!r8ZmJ{mG?r4C4F^jR-~nLT{V{_c z0!EdcCJQi=1&gTzIP2(ACTeC>taY$^t8xzeHIH@|F<)$$9|94Tmy}yJ%r61nmmq~~ zbT-=pn{@0d=ZfL6mQ+aR;2U7Xs^BoWo;x^(308hO z3r9)%lepf0FQx#EZ@=q06%fV>u9?IX2DfK5Oc2wsfW{Zp1WGn&TkGY4UJ9YBPb^Vc z6bJ8sc0^Cn+i^roNQuQ52P7~&8s)-W;^&^j*!q#zN;L_GnazIxuP9V*5{M$KNSBbd zjL==Omk!>PJR(LvVmC3Ywyb<=%ZiPfXCc7~TF?ePk7I%`;b5p)HUpuC;iHLY&HA}_ z|J=LBE@CBPK=$(M){6T-H+mH$7V+fKB|a}Lpj(&&IY7cvq4g$COK!I>G?SdBX`jiew3dV4>TrB10o(X&GZe^uC!7*y2QMN@GRT zN8e;a;z_YYgHYCKP?5HpK0(}8#u58)OZTcAu5ZW^nEp~=kG>S3k%5KTlHfmS6ZIri z^*3M}DfzozATJ|9UG{tYtF`z9uXy zCzOW*HHPk8ac1A?1tJ*N;O9sOgvO!)wT!UHa)Fex2}T7ATOHb zEAad9X$#z(-pBfGJq)MD$6aX9Sw94N=LQ2Cl84p5hX&+(V5$3!5d>Mg?S~Zoz=KyF zmIw$U9czT3^0{IcuZm||Qctpr{RS=Z+X!S(eFFirv&IknAo}R`4|W_#H(#Fn*8lnu zx^(W-R|Nn}e>HmLBYYk|`Uu3ET%2$F#(%U--Cg!cZC)=T1Ih#s~;|FC3r5( z#>ld$dAW4shp?R~(L%SP=?CNiW;4fR>J1IbBN@Ex5d$O;KWN*FF0*9>Q6LAV7)vQj zR@~y70Oaxz$`}J+A=Sz@J!Y6?15B%WUK@1MIMABSzUA0%idUrHO%MW9+S*OWh|q91 z`P8H*M%hieWv<&zX`$aueRDUln~E6igc#v3Fd;a4G#LiPFSD;gf($5YBnFPW*;m^~ z_LcUWeD9KdHP7wxBv{c@uE9f9GDDNiK6$Qz4X4$ z6>rcxz zV(O9bt(OXdR+t9mjU^;Kr0pX-1s9d0rexqVn zfiRa2QmKt9AS|h~XRlCzt@;0gcryQ&7%Mzu=C{6Hb{<}$G>+u4p`48q8%4y6?hEHa zK$RD1E1XUv33HRgc^9PjlD*+F@r2x6KHr{TYx@MMT-{(r{nVySB^K6)zX@wkiz`w< zxyRpxFV($o%{~4m<)iL>d+zZ!6wrHFSczW72A8P^zcUZ=chKNFa*w}*2EQlw`1^DX zzAF#%7ss!;cwmf;_x-)sR{JmSdjdCZ2FIlGSObiRnJ3%#$%;q0$KQ4TZ3?Zibq7B* z?Ck@?-mVTh%Tt5S^5D9&tM+yEX}fy)U|#nRruCXZM?N#?$H&&)yvA-`^R(T3m5+VZ z1MAmb>-X1g;QPA4FkU|x#v2C1@R`9dd~Ds`8*J|lPdkjS9(41@K{w>^&4!%aOW;H$dwiNVJ!kNR>r(Vpez8}Bhh@_1R-B#?LG@ooS9`WB7)k<0 zX=m!t@R-J+qnYmYrm@PlpA6F1Co9%RxZV8AoAmX`3LJW7FGIDg%;eHAyPX(VihmtR z|Nqs$CKcwSFL~`AytZnYA`{Wwy^C|$L>2$C{Z$=5oXVTlp;;cR-q*em;nJVHl?Pw0 zT>X;C{ai?tn-<&11p%|zMlP7G{MHqkT!9^(vkWI($ugX2Y4LjXPxjeazQkw(GY3-Ck&&N;;fPJ)zliR`+aW5AC{;o_8$8sXy`_ z7IH1~@hPP^VY;mpCxvHuGe!bRagIv(SOfHEMNR>}95IVh?_+ZEYZUr%*#z{5obGTW zmZ(PsOuU1(7(Nv_O>)?)Gcff|@^Lo%CY81EK&brYlzZ$EeQ))NAbKbjtFZdc;P!U9 z@gzC$`K#;l#=1Pn}v@TccazD$D4E>OV=OvRztNpjIX5hzGM$mMv z*Oy@NhPr$;7YNwRVEWUKpzVU)qq`uktex5gxnTUNU4Vew!h4VJ0wZIsdUkHG3)tDG z?E=DvgL4W^luQ~2?INKLP#Nfm${7D&43M_w|4!*Hu7Dfjn24}7|D{Nrh_upr; zAC8{E;Zn!WP{sww9%pe4lLErX^i!nwQL8V@#?Br^Z}vw+_gIDI{wO`TxL(e*0Sa#C zNTR{?31ga+Eq(0^p2~60JP=2~j?oa%YP|<- z@T0Q6*h-r=FwcMm*`>0$ZP}%RhrzS(I1I{_QG*}dVDRkZ48F^O%l|a1cMcyjE%htH zr|1kWwu=Md^>WTfFOCvUr49@^Z5_Sq;}lS_D~L`)8^kb5 zn4oHVDZPgEiag*Uk&sLy>tkQ2xdgDWJUSPK>j2hk%{TIo9RW5AjrC$==3*D?)zow% z?`Q9c6?qHGx8L&ezLpOZT|2{G$>KOGJZ#73;?tQ6@1ktaX8*fOHz7{sFK6pnLOt2$ zJLYo}o(SDrfLgV?b^w>>0kbC+Clc5JYYYV85+L@HS_dYO?sxN-bzlEZ?7*>*E^o=V z^PJ=UP9?PIqst4C=@c*-W})438!rLxf_Dk6fb)?z&lI~`yzE-n+6&Vs6uUcU8|mD7 zbM0}L80q;(aSzlp-Skn) z`j}M{sAAzuK$F_|QnZPwiMhA2$E5Il3a^Xa*IW%Ym*1*w2~&Gy_3VjJ@lS2K>a52eVMcg$~o7&ED~KtnK(f@mj=) z*kjqb>7#y^!1H&xe@(rV_*zEpN(ROJgzV$lV*8-=HiO~0i7u9Hw#^J_)Qx*CklKIr z;aJo-Y>nrpLdea$oB`rW93pV)+)N9hw>28@HnLIPo;~`oQv{??Njvx8*Y^J7AjAQS zx_|9a+_Ww)*{?Z|&(!)Xh}H+6)(Zw4D>W*4WJbh*N!c?{ZU!TOpP&(Ym^|=!D0ZqJ zZ8?&^SS!qH*;mK`4q3xA6N&|=*8SWy7JElcy-n0z!K2K5>l)`RFttb7Gux}@yPQ-4 z`HKV;Z%5H&eDGo%SBDDNt~xv`K#}p%&OVV2+nVCzf((%}pkb@K05Uo(LiICUi^t@9 z2Iu@|5A)OB#=PiB4f)CG!0Y!PSX<81}Y4%ETAcls3!ZIjH% zKxL(SC!*cw{@Ymy$G^R zY(ZMNxpz{3OhJbiZK{Oq*@yD>@sp;b^a9G4I*%__je&YhBns*;avezHSjjENLjT|E zM)<7`WT1tsF_Vv0zk^$Wt)4)Trf!^~{kJ${rjAVfKkXux?KQ z-gi9Za(NuKgWZD@l}$Nb9?J! zUQSEAEC))Iqu|t(-j^g8g>&-U3Kjv?eN^vS|Lm6%JY^FM+KN&YMdmJmW!Ekkh8e_^ z7#|I*R!Nrvm8_Zse>eBQ+O2E62{qX~S{~8TZ-~}9i;*zV76dC~EZxgGVQx)MCaw%o zOxhOw%Yz015Uq?e#9vvOmcX#x&4b_78ZomLWl`4m1*5Il4ybO+%y$VRSJMk^*bx)z({u$a2zfgtM|?e)o6kAhD)VCm5oMp$_i zcjmuXg|rn#h(54EPm}>Z&bo;^vSsB8?yzvnow#W&zO|D<*%pvwdV{g${HIC5L9K}f z0|#`fHVFXI27?c|eLC01M5>N`!ePC5Hdn(HZFL-ZvFpm&?XBRj*(sGLSCZ9g`lgm_ z;!5HvPna|^)e$6=^^*yQ_|Md-7E_ooU6VvTVpBb?4G08(aL4F8cV|f!SG4sQe%KbI z_He{-siK0fi58^DF-A5f_n>?2DFiqgd;9$K9hi;&0 zCESwh+Z|>|m37b3I3ky$g8TinS^Qi3l@Ibmw|G_{v<7j_2e*VkTgKoPSS@Y=uNiLl zH8@;Fp4`k}lk&p*1_RdADO=E{4zfj3WK>nQBi-5S=zilUI(D7k=oNEm^-97W0SYd4 zzXW_7^m(72?{;TdBk}DE_FcKY^d%@ z&sh@z92OT6z2t-7&j>cCRLwX2IsPugtDUC=(j(L|lH5O9C%_1)+@iD_`-));=2;tmc9+SP)gieFza~_$ENPwR)Q( z&o9Ee<=|5#ry1mXnuU!)SgDAsO$GJTG9Mmwr5Ath@HgXOvPQRw#oK;9k{Wb20 z0E0dmh9JPI6IKHksfnu!IqfcvZ4qagPtrAdaQMClItjY=I}E@HF)s&`U1;~^yYBO@ zV#Yw-7SKLze|)a~j=eZCA22W~Smy<}gzrRSpS?5UOFNYmeW)0pzss-@7O_crAebds z8TVLUKyO-P+-qMzncf`o>s~T>gW}GYM&18nZ@pBvfI_ifAkRq6xr0RHm)H2`tKvG~ zgYWb7uhws`_qR99f0?~L`@6w}zIOWSo9gk)aC|9_L%%82gAUuP>l0&c{?$)e;X%i0 zy&}&%qwzK;04PyK-`A>Ac{|oh;?HVXi)Ke31e=9eGB%n0xPs?iA@sgxJm}CY0Orx-qOH?@`<#B#}m?BtSVTvg|vMZ_5q&KN7_bJgj*GD`u zFnML!P_y+A;_VfRSYYx?Sw5I9`wC~Duz`+ndkvUl)`D{5vAEB`T5$S1rzpHPwiZOP z$@vRX-&3sx-=^9=Vy};yGfl+98N((%<(Fow`1YqnV$%pk;!?Li&JGXGLdpI}s@u^J ze8m;}i94XAU&)yMzsXJ6bbJFv;<2H>H#ou9E66mLyUKdx4R{I%xtJDhmFy_u-I#&O&eNaTWd&J} zXECao*x5XXygEXl%d930NK%8G+^Z4fGD1Y2d~4GPQ~^>nV7jD-G07fbgg;1(woYR0}d|rJW zk$4|XpklWeBwXwIX_G*SSr4lp zAXdGMNob`=Izhv%A6@s&4i?9C=0AW{o51*Y!B&T3ZJ-)Ow+79Snj zqJQnq)$}V5x1+ge`wkUgIoQVz1wqV9^9W-BdClR7L4-<+-x$Su&7Q#nusYGpFb0sJ zn=U5BGI&RX!xFK^I`#;6RD)d*my{cA_Y5~f5AQXCH+UBY(L_U+kgqc8=-ZhFNvPoC z_%96Lt-k0z3MaKs7kiYncSWUaWfgt&eq90$$00JuH?4bs%=}F*nV5FMZe2gu&my)1 zwQ1E8wCP)-O{3aI#m1K#gG&It-Vuxr5XE#*_LX?b?_b`^vrj<#+4(}dyOlxh9Bx;w zjuYSZ0ZNwcZkP4AiWbpz6bSUG&(Q>d%A*hba5MRIGMU$FuS@F8hjOeh6d*mHs|2D1J8#a zfxj|k5DE(K&m%zGW*lrqWv)BJ8RwBUW01r5N+`(uY!i-}1I`i8{54b;n+P<414)dO z313q~2n2j45oOOfe5i@xvOlPSZXsxq!5zphXW>HzORQs`KJ(#2M|_zT)e2^R%Bp>f z6QqeQD*jqQzmYHVGurJbs@+M-mH9EBP0E!{%roUmC+w$Lx%%C&RmlH?bY%YKGjwF0 zq~WM>Jp(T$UBdX)aE^L0zv(mO#SD{C_e5OWcrl3}gY#-hM_228`8Vgq)R54dmSu{t z68V^71N&k+P<|GZo^7YLntDOhB!a#X8;+_;@=zLXVz`Vtj=H8MajfmI;h4P@Fxul* z&^^JUYW6ZJz&4XdQ%cgea&D6`tNtiLSR{z$TulidkA+0%kvDPI%5F0|g@#fBmHt}M z@d%JtyD9SDS`dO^GZWw2xDcBT5YMKgIPTe`BNn3#E6S_hx$+Oru{Iqumcgp_4<3aTT~>7KP`Goo!N6U+oDdEnGkQ!ANH<)-G$ z2j$btJ*Ev+iXhG!6EriIMJg*6p?a`ly>GlnK!2ivjUNzgoP|E|HNAejQAukMg61 zWbJe$){d9o%w}~6OB4#6j$79`9ebz(q8_4wC(}Ay@00qmX{gb8RTs+B*zcv`Gv$!% zy^U3CmXxn}8u!<-bua0I2GGVBBPKa&TNV2P>w~MzU80w^(}fgdzF_LYK<{$6x{q4WQy~*wU zIgpm3K<*J@|8yKl8HWRpabdMH7lyoqjvNGd`S9_1Ho+Kv&toJ-g zPxV~pOx-&?_xEyt?yv4?(Ag>6F*x`4e8mzI~7|sT756jFUj=ABgrAi z$3}wvZ8MSxB%5*Y+x(4(5OKPa6K}S~SSozETxcu;us){z$f;LfYRb`g{xj-JV0prk z2wy78UGQxViciHpf6H<7b_Ng>EsPVlGr?uTII{$ijLof2O$9JU9tM63C%__N%dfAYwQy zbL*ek%avPSFTehozT9%_+Z-$)UB!_7#Eo4Zv4M zV75DpgGHe*+2Q<}9UiMVcJRS=u3#F9#?=xW8G|R4-sA|ht>bPyc?=ejVE{G4q9Z)Vjrm4Bt-QsD^@Gw8Hs~OI;bu896IW|57maX57zt`P8 zLGN+}+{Nz9BD=;QxG>jOJ9*ae)2pi0*tyH-PpzaC=py1R|dz(8W&K$Z9O51uDt zm7KpTGmem*+LVg`R{j%K6?p!4F2q-gixZD2hpTS}Qbd}V*Y2~!UHn_Ef7>K0XAcaw44b3Y`Ou|dn zvN5lT5`&l$KC<4_q-n{jK81) z+b;J3R+me!xy%OPOsUIMlD=%N|LNzjUsh_qy()I(ve(`I<)hK?9QIEB^Y-!LxnLE7 zy3{l*ZgCIS-{#DO=W+E^_RsS^S3|!&i2Y8k9>o4at{%kxC%EFmo_Du9yeoYBD0e@< zPH%rcU$Iy(xS*QdO-~$l`zQH^y=d_T5EpVKa~K+-Qgv4QRmS51sH-PrGha~WE!>q` zWv_#cO!Ua}+~*;J^3V%imhGy-O{6|Yx=*`5;k{as7md_~?kt*DCchP%cXOmW6qI*} zC3XQ3lth;Gk?y{yB@3hwWg((kee2wKULcig{Q~>pPJXMf4JhpTNOve+JJKCfr@;hw z1<91&peKHhjZ;m@D$!LJR|f!g*(rsuCjzCU@>2p|?&ZF?M-6a%jE8LH@a3#&CufYRkle6uo z<#e@^1E+3@d+Xt;j;0hPo@Te=W;4D$T#u6tjPJe!bu!1t<}4JdjC(X$J31Ft(+=wB z+?aWAGEn^)^2n6=-h(w z=D5ki4d$Nt>Q7+qk(>ItUw7Q(dE}qWy%?!;Z^upYdRGT(=Gfpn;9N1mpLE>h6tK7q zS^ML2&nVY(7lX}nuch7~+u-Qjw#@6P8X_9zTIiIczSdI>t8P;*Z&{X^&{daN+`_EU zj?U$S$Lz#ikY(mZHab(yDC_84@}Fy}$BhAOf^HuIl6d?_9{^bV*A|nzE_BApi5Riz zc<9A*A*XHccAZc3t`LQ4zK8x0rf0DLcaB~xxkS(i_ZEZ(uV6~yv7X!aRmfi>1LJGw zcgNEa|4z`1P9PW_5kYITiPY>KrLpxMM(U&V%}UY(DU)2dhSzUU54luaarE^}N?Ryk zZmriLuvZQR<-!~bOIUcemEuoJE3mC`|T?OG}!|e~qUAM2yjZob-8+l)w%|_Xe z^m*E5Ycmfv*37}JB+`h1Y*h&jJFDa^A7e?`Y~1Llf6fl-u(><>>7(5o6}7;?ezRo} zj&HV%aJvL(5@Mp?I{ z0IN(_TZ)jk%?2B@C$_?k>tKeXM^;Zc7#cKrD}28ueoGiM6zmG$mwSxW;{DJM%2!hG zk6PYVEazYtYIz^Hx=(Zm`E=ySYAuo~*h@ap*14F{xv>ScI=D}S85~*7uRiQArf1fB znfKhS|>e9a0A!Sr}dH5 zNGk$g6|pEBfC_Cvls=4{@fKuE z&8@P=a!6!<9C42KjM3f0a0c9kBdfP;0`2(Jx1DD3u||v1nF9>Vk!$5lVzpOkr}%AO z%YMUeSPl{8;3KM?Y&oVNEB$QcZ#>OQ*CT6;e z_atjge!8ufpX$&@XW8T@9U%kx>5fRK?7fp@2xF1tKUx2pA;4ly+?`ykj-Wi%M!#PD z`c+{{;w{jbQ1Ri-GpN~+|4H3g>@Y52G!1GEMc!@)3Y=!zqo8-SB?lHkN)T!Cf}jfq zA3d}>;9?z)AqeDO&}ChayLtpUlmKoJWG@JkBX8`yz_+Icv__DVxI)P#*=yk}C3`k8 zq#Y?5s6vKaJ9vV&A|y->A`Rpq`5Opz`)IL@MB{RiRsjatM--WLpYOzb<3MGF!w`CQ zX)1BBNco^MMk0h531q5GZVw|;&pjfyhf9lTgJG@D(k543=D-#NIqX)YhnrCoaL)MB zu~?ZLcs(uJhET9ie;Y;+Re{k(M<_cFpTY46F#S%Bj({!EHKH7GZDOA&uFVZM@ERYA zYajOLebV~$>Oq8-Hsh>^Hn0;X&gvTnb#&s+IB`a&Oh#*v4*cQ!WrH$aj zjh+TJ!fReB0WgWEHYO4I2B`_yI`q&U?D0^p^GTh^9kSJK*uQlMq(KXQoTzua{-wvGw|);{Q&FMMvhFq#EoB*x7CmlK3- z_t>B8X4mZPcBb@G49U+qoVv{-P7gxUx^@D+M=*exo$mbcS)OWg8Dz^cQ!^Kvv zxTXLY3)~X0zCgR>4UV2Sf|T+LG2$5*;URJcN*r<}0bqUf{M~#X9zFj&iNNG4L={(B zEoBuZ^Z>C_j-IbGxSMTFlU}xdS>v<>mYodv^0_~HKKpQ7raU5qPdj>EIqcM<=eOW+ zM~H5s2(g zb7DBZ{-+_EWE|td`8>;;+6ZO!OQK-w==p6HxSjg${Tf1d(2kzpS{!IEjJt})Y@I>X z(ev9-JX-hYc^@B>=g#Axu!B!0_zC-?=eOC)h!_+`(xwVFP>Xw zcSY^9iTb1Ghfknq)Duzj`s3^Kge|bCvzvEfi#pht-eM|H`2`@@cB1_1)?97^l97VU zk&_m0lwZZ>oVva~tQ%S!(;My(*atD}vX898h3-Ite4cq8NRVTCYe&x?6jQ_(6M}po zQ+$5U6c1?Xxbo}TI+RRJ=q|>cGlUui;10ez5eL=fN2c_O|QrZJK4gZij+NI*sAHKfSZ&*kl6lghQtO9t_Oh{alxb~ zKO+IN&WzV$371{dMLq2=QVB^{;0}^l|$t(j5<1 zbZS}NQdIsj?$0T{-3Eq)m>^oPXmsw-hn-gsd1W^Hpei!h? ztOjM43ceiLeB5ucbsgEx26~% zaGnk}fPm*e@wV+J!gQ`oz8YaITa10>axf|pp^O)B%W3UL)E8_!e9cC&o$Ovd_>0PI z+9DQVvxEB{dzEp0GI#Xf){(pUhQnlUFhdwZS;H=&5d zhkr}Ev+RpT zqR+A~BHkVM_9KECOg%r#zBtRi(EWHs^tXVgGWS{bh4~<7*%yDbvM>JMBiR@K-&yuW zGuT9@#9W7YU7yNX_Jy|Wv+N7d0x+CqU;N=`Uwrpp$BH)Lz_!Z1m|dTJF>BcuGo$=D z1aCn)iZ(auw6~zvqd9Rm$~U}V%Eoz8HddGg@ef2l?k-eLbw%iR=lhIDeoe+>3>icb z=o20F3CzPJ4&p$|H`D5STbb1q4uwg~Zk57eE6XWT1x3)cg<95f_gc4S3J0Ic2hrjR zmr2^eC4}h?z16pdvIvIFO}cneQO>W^W6!@co@eY&-T6K}wx8~3g#+s?jEAUldi<4Vk8*5rXO5jUvc8PvRIgvG$x}+8+$kg zbHIcN6UDDPf8$+=7}645?ndTiT}Xzbal2|n5{;0k36?sfCuoq6ET2k9R;+3jeI#mf z*Wo!HmW|;hXb-b8fCnY658C6gF?Q?LBfZSOn`Ak`!x(6wC2wNMonU2MjsoC}SZKur zkBQY|VMOviS&EQ`$`ASv$q%~s4>LdL1x)c*@uJ0b;t(^j0b>YSLashd*+nmc0-j|T zUB_7^^A(kSmR*zxz_aWkwqBFl&a#V?7%NWsEV~HtECE($*+t6Ha;QH#*+oWuo@EzB z?ni&}>iSd?nz3{1yqmM^qOM!o$mGIO8Va*BbgKsXC^P9XI<3+F7msO)5ah}lIYIebR4i(Wt`$M4-B zyU1Yv&;IP9%;M9SU9`aDzdXw>>dvx@&a#UX&(5-o5LVZjHDnB(Wfy6FKg%u}rWy2E zJiTASvne}OU}NZSE-C0NyJ(Yo_36tl3O7GFyJ(s8>a*-3{MfVE`;*xaJ53U+$m>mZ zk=Zl`^y9-d$;6Cf6OYV_CA&zuIoU;1E0m0@5R;`3{XN-5h@ZoM4WoGINLCRy%o*A` zlC`7rkN?(|Bx$Zr!6P|EQ(w_PK502cR1nmiTv4^Y9#0}4C}EJCBI|)Y$v>Q<+xO6? zddzsO4dsNcp3V3sgYhM!=*00Qo9GW}e3hwl0{r5cJ#l==Bl;A^S6w|r_#GMF5Pr!b zI&plP45D%$k1NzBEmbnv)1p|93Px&OnY?A0LIopY9L5wjc$5qy@X=r1y7U~+j-Ux~ z-rr`kcRWQ{(RfzLc|>0%L(_yO3l>z+2$3H~K6GQtR!vqkj5B-wf9(*@fq^3@>>_T_ zO%M^zk*E^NisK7k{oK2M?%iXWr({5&j%}#<;EJ4Abk^yPeivEaeV{huNRKsW3nRaRTj*qpk6@tXW zN$2zdfR*Rk+jZGa$PXhSM9a>taYlxg3q-I?E4k*H#RyHcyETYO!QRj0l3fN-EAz>8 zF`5Ejn+@fwGd&nsTn!MD^g@Hl6FnXyl`|SZhl({C_X(jBs%f~S$%y&QBj+o2~ry8Fac&E`DGpnh)B~>=GGBWY)2;p*74j4 z(LIz%n0^w;>k0Leq;{W&j4CJ+m2jhJ#QJYbjK*?g)oajOrvKizy2@ z@gPl`XDc7N;h9Ls8ko)gaX>z2AIG+#v@F8f84^Ub^*AEjr^NmB0^`~B0u-w5vlR5Mw@V(DkkUdG+k$;8A zFd7#U6%4O5SO$%60GF)({3iuFxbdWmnRM0J?6-zc?lVdM*h2XzV&-_X8$uNz{<0{` z^;f;(82B}>1e*SaSAy!6qiP`+ssZ_JKAZj9z$4N!34%H-t= zyzUM-?dqGqFr3Khn3Q=XNHo3(IQRVTjkCWF`kZ;Xhvm!7S}6jEu?LtdLQ`iebwMlu zOSP)+Oj(o>oO`k$1HP>KBSS?a?e0RPA?EwEC^yUiq?v1uXbdO>je86@$7kI0z%5%) zYSqyt4dsLZ&HoOE5hz24?DD0`8K2sOM3@N2TA$FRW!JNwW#uvG}J z-m38GoppHis%v79k;F@n#Uba56GBGI^TtTeEo;Bi*S&Z2)CR1=_Qs&jEo{$uT^2y> zpSnQ6@!ngPhr>6g9jB698Bt4$mkxa?=R{oS4*zUUqv+ptk*WXO$1Zb>d(du4{D@+Utx40i=;HlVB2sRNy#E2(GnwcFE8%-Ri6^2TVupf&- zp*A^bDlHKxy)^6_hL&Y>Wtq;O_mE7d-Ja$_gv~r?HA2qsI_W{V_~FZ@IhjaNsy$XU zLQ)nZ{FC0VOkQv4jIo8VVB$ZWX#C0NPeRv0a%!-O-K}!-LELW$gbJYD?pJc4WrCks zz&T~Kj?8{D_d468hcn=NH6of-q;u-nHYM$!5irlcYz74W!U+)lq9H^#!2IO20qL;N zst0L%yf7)y96Y%r8s$mQ$0q|*7bpO2PyXRRG$`;FhG0c`edb_1JOzwymNjDbU@SB{ zbbHMUE^ROJi5=XNkONm%0A?usVdtZDqBvh zLwQTF3{P%onn!W?KUN*BWRbTyX3cWl`2wyg4)EyX1i$?};{Br0=C zkgVw$)%*IF7}ev;t!pG596CZ@Vvgv;yY*6@o?rj;`Rkrek+Be#-663eeIdkZH^geY z5v%Pru|hdHfml)Y)rj$tG;7q2DR#cX9t0@sFL0^jvU84Jx6i6h;Ah3FyC`4hK#?eT z#|r^fO^duToBc#D5n>MW5U|&BF)5`A5J_oYz8oicLmlRnCPlUX?Q2CfkD#Yl5Gh$3 zJAMk$CeKG+=vW?Ofg)K%(*svTEweecEVAa!Meuv8A_G90;`XKJouW~S{ct#~Xbd!+ zhwp=#)?BJQ7qd^sDT&Ai_^%Gp2AM6$Q>R}=tf4m#SV}8X(0xVR#_zj}5Cz7F0`vm^ z&&b0AbJQN^nRzJJ;h&ef)4klX=gD>=o0JAq&uaXzM`(28S1eVi9nbVC-}$XcKl9Zm zM-Q)_+J4}cv7!o3Sdq!ak>T!g>Q(9m(v6i+1IHpuzJE~pPcA?^PAiN%z;#Tn0q90j z=PlEttt+s5rst;ht{>op0Z!TcHn6rVQP|h-!kBJP7&G{}8FM>QQWPrX_)@ZbsDrwI z;AD@d`Sn&F2Zof#jVxG4wk=60fne}F5(#rZ{swEB(OepgX4&=x>0$g<=(pU`s$>-} zOCuNZ@nKzZHKHsxL_aw|1*XK#025`~pI~QDG9A;V$P}8`gbj+CfN*{@}rQmzLCWC2+#!M>dIJ5#KbT`fjgE1P#cxip}hgjOt3 zw(2NWkrgkyi)OPQ>1l%a^{%K3BT26Z1&Jp`jdQuq1h5+YY2YyXhQHyK*)}=x>I<;4 z_0sdUgH)^7$vJgOkz0z+doSC5tK#o;)yYzxI9O&mWEc z%aNG)@%EW9tbVtBwoKcT?;XRuUoyh}v3lygW6H^X$%q4|S6rUU4F0nG&55A#{4^ee zd)e&~$Awl(6>Q(LBc|3i-g~FC%=Q3Nw|nns>q|ytx^)hlK`-|r{jR?5y?DpwAK1Ck z9B!#Oy#2kKIecsT>>R$cjnz3Y)>{}PTH#HNHPGCH{QS`bV3t7pW`Ksu5TJcF40`9Y zanLCYEqZ=7LE0l{LJIbe4tpPk5Upvj9lvli`qLw7)fP5Q!dYV!VXH`*DCM0E{6~eB z^kVo9wp(c7+LExdn6AD!LUa+-=%I+uUp{K5zD-t_AdmH9E}I|kfu)2Z=W=g-dvP~G zw8FE2fYP4{9;VnKa{qcnZmlbla7bOWn*>qjbY_w{OJ>s&KgCMW7o;@17xpjp#dcGH z@V<_NpmYV5gz^0CJP_&`Cj(MX4DAYHimGL3pZb(XK*MHgT5Z8lR}j?e*0iMjQ&;b< zqN3k5prZe9Kt=y?`z#gxr|%sHS>yyzRMTCbo}x~KLM|b$tfiSI-eA=oz6$aoMrX-lf59jL6Un4AE6VBn6MLQa1)2`5`_ZQDB5D=Gn0* zqJM*LG|aea=SNJLu4V{$u%6@G9kq%B0C#DpLqm2i!u710H zRv7t26QUweeSdAEOEu2h8RuVeA)aoW*nVHx?Y`m>MgFH7$6x*ajZpMA+h@n|E#F_l zoa6ZKKgDrGQP>qGfQY{w>;1@b=TDDc$k)Fz5lUNMI7ScAObQ(4fAbhRU5`YO_6vK^ zeQ2>Xl$z*^*Anbx_1+D@7X|RYJDBL-A58S!?Xwg8f%aMCdH?s91S|4@B#WCzk{Tb{ z(6RAtBR zEs9wz(3(2pFo{io-|*c)PI&<>5pvZoOHeN4E5%sWy8mqU@wG)|b&n{ux17xX8#dBY zx3T#qfJfpNwHCXK44|wYcDsZbuRS#g-YU6zA5e13Q!{~S@l_SK=qN*q?EtQWwLt!c zcrnVjVus4MaGew;Ip(FwC}?QyrEw@V(WR7m!3@hwBgv0(W!$Lmz}ur4>0b)i3Dy2% zYXKybux&N<5QVnhs??&bWtvhnG7o#&DqjiAqMNFZxeyw4UT%}$*RK_GZG74bo4h2A zQG6NT8ZWBUPWNWBr+R+O$xAOA^?gm==}}Z+m@XO|^nv-eZh4YSI8F%-f!T8B+A>fV zx@;mopTSS({N$(_+S`0t3953`zs@7LJ%Mv4p6r`IYD zXSx`%c1-C@M%Z~`?$GFvbu*4_IYtTrUW^rpEw>q;0XfJ3A$t{!gDY=2>5HyYt->fA zK$0Gd@i_a^Pe-JNZ~LomL`CarZ*Sp|KVvMq$$S7}1*LB9 zS}fQiys%RQ!XCp{sus8cnA4TU3PFI1J&kf%Au3yNd;q9s6SpuuGkkQ3B;vwi-5{C? zs1SXo(R_Ew>F$Hq3QLfH+079j*HfgOnp>wy=K@<3V+>$qwo#tlt)kapNm)EV<&NX0 z4MH%{<>)K4@OK;z!+Q*8)RzNd(HW+q&({3o!WdQ2%IZ1$OF(tndchK6i~vB;B?Icq z7BVE-ZA02%nGZ7r@vVjgJ{O5pp6kZ%1dBFXq@mzui-0t45k}ct-H?8Y9x*kS|HS<< zn|<)4tu15EUdd)=O4-wOk-M_AQhqiHhnxR>TNsHwWdvsY?|}mFb((g37iat5lO9aQ zWdc@UP6t!ADxY+P@(KF1rx6Qs?@Zig5~ki>CEXh7h}sH;T8vpY_WB$g3VmdEi#|Xx za$S3y4V7ND-uBJ~kazGMgF`63?1e4-63mDYigzCYg-z7J97p$_m+ijwWz(wr^6_OL(mY2v3bPHBL%hM~jT z&{bNi!**srye6k8z|-Cs2#ndJ)RV!n&=+Q_D{hks(B%=uVGoOr(UGOH zBj^D@0xA=~0gUP$nD|?1C|L!bT8`ZYwZ!UdZV2HSJ~96X5^zYxD3622HaBe}na#dG zGX1=`QK;Tuf9e)q-!B{;30=O z#R1mvB@iLE=agzv6VP6Fk1T_xR}VeB+zmJ~GQ3-W{K>ZvT&|N_b%>?VO@Nz)tsU~o zULs0SZos_f-?_CMsSrs{8c6~S?f3Pv&Ht6If@$+j@d=?NfL1?mPiN=Q=xTI>r`fN+ z9;k83L-8)ap&Y&(F+&D1GqCc0up9pEv5^r2WCP03iTISU_cz7{WpnPs6m0c>dKca{ zGqssr7w(dKMQOL47l{*)MHiCG2{49N6&ZX5hjmEnh=1?_4^T7)b&BZy^a~n zl9u5c`LfN!G#AZW`<>4axe7s;IIc)uGGO+JZH> z`E(CF!NNarAKkNJuUzmmEd!JY133f;a^7<(p#m0;=0CD?+FP^P-&t?>FCWEHHR}2x zKSIp@?$KYn$q#(nOQi|j_@$EZ5Bu{tH~}J+J7>CmL0;$TA%^m3u0ojdqmQnh{}|XY ze*7;6_2n^06D4T=CmTapY>v5&9Nr6=c<1y-gDWvD?(_~i4J6%81H*;Ms^ZItV zE*&ZZXg>cjBImQiE=?;_m$0`NR(ZfzTc6uu^vIBA59C z3yuJWDlVd!zk0#BqgH0~1T4Hk=egityPXS<+`*GCeqfo?n{hY%!*U=B88DRN4tKjlz9U4&$9(~@VaL!OsGO>FD~@3Udb>Ot&$FEf5z9&E$U@JD zeD&%Mr?^D@(RlOtgSgotS?wM|+htezHpamrx3BR`(ba;z$c6BmI~nsWQz3K!6??_u z?5^%kp7dB}O4(W6YjJlS(&Y?^*jYFaY4P-NA{)B9o!_|{_wK`wL%NB5I?vDGlymT{ za~}1*`)IfG2>UkY93yx}$g(+4m?ro@vK+5q6|cO-1~~dgL3(?!@9}Y51O(#714|C< z`^v+e?($;$V8rPl>*4R-wfe{pVjcPcTtDO0kNx0yK9`~Pv)j3A^;7)h&)?C0_Uytn zPSE^h{&(0J4BHS34!{ZO#CXVRV=$ANAbAa9vEPz&fu^a6$ucnMW_}at=5R^TtXT+; zzIl2SxBRri5K{4wy%HPq^_`#AL|-ZK$K@FPc8-=8-B0;vx!rHw=zH6>bs^f__HgSK zLZAMZks;q)WOpOm?CkFCpPL;Vp1&}^1v;0Ao68?oD0xeg`1>|~TU z{9}$1f9qLOiGTLADDi=3g%UZs``Mtx-f1X-7=9v|xNwFO&ysWe(9`0?4?ioMm_J)G zF+UY2rYGaX{Es16FRygsYoKpR42n8*a;&L7H_~eC?vEt$xRy<2e z@dHnb6+if_u%fitXM+`|OPQyMnYW%{#k0hU_dG3D{Nrbb70+7EeDYL5^OL7YnwS2V zW5xd<2bqwls7rVJh2s}4HS(5I92Yir7F~|hhgX$ZbxiS};q>jDDtM*T^JaDG$i$Fb z;<0tBY{jdAB^TZFjc5|F?@rJxHI_EtQ@O{>bn7V)k1dnIs9}!`#(VmA{Hm0JU7dmH z7jFkhoErKaqjfp8b>bMdf);El4&&CM#zf|AKzXlo{Y@osCn5c+jl}wrz<7#)RsP34S=H*y*E2uXY}Jw3|M%zyuQm zT6fOGiDAFxxnm6I)h+*HDx;0{zQ#A5zc&_++3Z(zKxtg_TKjA)=k%HEpV4&rPxi}=`NnlRSbXatqwCpXUsTGnJa_U5|=b<;DG_CtDVQs zZ;iA<0SxOp+#5gd>dPKp?6@}IoyNp|MxZD)YJAFd=A(^h5?MX@`=f_DTf|(+i@=t| zq2sTkT&-`_`jI)f5-$o8egFHE-*4?u0*wJU+?eZStnP{%|bXz z&5!{6!1ZM0yFBOYbHGAJ|_J0QO zn@AQ#Gg{az0y$b!0;Ve1WJHIfvRAe+1O2lOejQ0dFKa?JU>1gKjB(*`8#3n?pzhf+S0?Yl6H^uO}kb2l! zH(+<&fZIvn{rWk??Yhqhv+Lk>XY}`s{+_P#{7+}}_j8f{;$}Zif5$gXf8*Ft-Df9XzGuYuhQ#-SXT>!#DKlAlQ#zfqJ)?{gct z+y)-E&pn6RXT;y8yKR$mToEG)9HEATdF>Q$NYGI#i&eBqG7~8uNQhI#U2tv=@qh`f zA;4upxJ=4$bdv?CoTR%EUqJ{_S|gH(ucX+vaEmI3#xn$U(A=<{yjADr{GwK<$+-l# z)fjTFL5mwo?8olWF&Ou>OZs-VyC7McO8v%o5K!niutv2q-3cio3?=~}MweKQczK?& z@Qn2}mnj~9&=;^tU>rsKEpATMb9Z2H+!lG^{Fy%d3QrbDT;|q$mWO1<9=t6l01#GU z^dTi)2xu7wPLivaz)1t=0Ew6L#>TbyNs{>zKN($apO+IQWhv$!)PjhRL3-*ATa+gg zG#(}+J$NV4Mn=9c)Km*SOwe6D;+zW%hILUq?#U5hG*&b?nEg)Ry;bn8>U0dQz>;** zbtZW0sdB-2)lmvJGr}u&Fd*gBC5yf83;~IQj~GKiNqkPXBPhr3S(?GPvxeI^!GVD( z%V)}YN~RA216wo@k!ag3FmP&MAakrTciR?hATH3t%uK+zz(hGZ8)E`NRg#QPi3#*2 zP?uuw!`F-lY_C0CJfO9ZO<4v7?C?oaAK6oGtxtaP%OXed3zM&KNEhO}zLte>vqAY@ zG&&&KDWx^4HWCf2L&~Q7(2^O6j9f6?j;4vWqrK4}>C>B)ifK!auZ*K2tnXTaW5*As zgT%>p<5v-J#W1f??wj^3fWgwx9+~!RGtr26IZ{2xNZQiw4{bw&WE z#ozVRwDN`XjoLGQ>*{i)E-wZUEY?eBv){GP6nR*EX{weKS)O>I9z!*h%jNpk)#XZE zsAHOjI_Mok1;6M2lJXmwFbU31ca&f^Zmr0KC2Vpw{}BTEGW?&4#s6HTKkxRnW;kxE z9c9BbjXWe~@Ze1=4nZJ6*5Aw^W=Dq>hsb$Kic!HJ7%K>_GZa2Z@X~;_R+F>LDsW%C z<}`bPUkw>g%Dq9<`*MZx^&}7N>e?#def9_vF?>g~fErupgqGN~EP6sN0fFb$@uZXI zVFb;iKO`vAABYb&NOS!L^;=kN1yk5sMQHC*Q?2Tt0@;6+GbDD~fi(?9ewLCG-eN!h zgKu;#pIhLZ1I`y)`^Fkv-MoKEZj*3MFv}pl|T-}Swv|I95) z^#h;`aQ>sy$|2tjtW_m(9}_SxG@Z_VcZ(M)VR&J<#*jig8V^cg2sxw^I%LOBuXX2` zPfesvOWrtjKGe@>ym3cW`xb8OIv<-o${T0tuc}SZxj781rL*c|ZfhR3vP~>F=Y(&o z3Fj85%wvT3GH5HyPzJMww=zhNVZ4n<)Ujc#b)pAH0@(!@9wiu6kfpY8vKqF5%+|}E zu+B-2>+rMuKS>zO>K4hkY~j4x&sIWsj;}qocwRSK zaB2ah1i-G)z*4`V;puE~A+0Q7daEZ`aH<1QgTcu8!P6;T!knlXaw)h<$t2m~UdJf< zZl^PXyRGGN-|+5bny)QE?WOL*eZcS1eUCh1-K6Jq&)J|SPnini;T1G|M|Y{cwR~>C z1W-t}T;DYTg~w!npc}0$IRoZ?>c5<)iF{_!G1{sX)P~vaLiV-_ zKHd4Ca(6zc6e2u$7O)_P%mB;a92&3(c1DAn(`gnXwwe+Yvq&024NDRL9yJOu1sWZA zmK{3D4kbX`4w&U7hoOif92f?z^W+8_gNatg5*IAD1Dy7{=Q+12X#nhHgrV-Dt<1Q0 zYaLO_j_PieV9kyZtnO~BD9RR>w=c*d+UA|x{Kg=pbhiP;k+m`)zDIHyy4z*mMH5Cm z7#cCA7>A!3LA0yU@!qP+wS0(y{@#Bpr@DK?sX93o9PK5Od+3zvaaIbF$IBZss%gkL ztX86Y8{IH0*^sFi$ste;L+A$jIW!eI#>QsezIc>S!*Sq((3OB{z;URP_rUUwx^L|* zL`$JN3*A-Hq-Znes!LYrNNR?aWCUu21T*)nAjHh$*TG?)@u=PKdX!bk3e293v;8RP z19Siyi@;B;I)>>WQ=tw4n2Lko*M$GMy4s$87S=5079As5BJ_Bd`9Ow;3HEeenYeWYg74AD|M{2vG$>Y#Ih9kTC0m$yNVlOC2Cu zK`5DpyL@ZC3)wsuB(^(T+z3T+_m*t#9hP=LL!}gr4Cd+SLu-0_!55D{yC#_|7nDb& zCUxUJ=-t+Rmd9pr7a7)ecd_H`E%BimUzxh|{D&XSnSU&n>$Db0f*{C^M;@Q#anPV4 z`(3=E9pN?+`y;T9Nzr%Lz}jF{p|QKnV{DDP+tbhK4(s9UNS{Sg@1M=yoTT6u__+P3 z%};Yd~^&}k5dM1{D3P>L9`jm5}BSn%myGNU?umy4XP)Cf{VSvitdt_ z5YgKTLond`T2Ugv;?{FTHlr8|=CmLoDY_LNTm#BNg>bZ*^?;{p2N%la%y~C$So(CC z-6{OWRWmKG(lC;GZsvJO5m<>{@HL9x(?z4sTk`1%-;jr%%>7=Z4$3KvD+ix{I! z6y|{gzaKbVb6^J@BLAL!J+B{hrl)SeB$WWlCaQ$!Ck#;?=Gd9ys*CnPiv>tO#o z^?gJyxXVbSR!Fn>Bfa41~$Y2SOk-}uu(e*X)nKX8c$?9ESH2+`AKEOcXMfq|WO9d+Uit#1^d{D`oQ;dN;vPSau z!60R|lGJu&>5fYHr5YMak_&<`gi3mXB25A%1Klmu*s2R427$R7R{?i+UrqYMP+mzNRNKa+( z;0BDOjl+KY&2fOTH4cLU+Bi@aYEU^Jl9Jbsv)TBE1}`=~m_$QNcsBdnUn`Puke#dd zzAq98@XFUN!Fq1|JXsF$&ahQnPbL7e$d#~-y&0yj70h4?RR_zN0q&!{rpoIT5Y`9w-~98@{qG})(1$rQXuD~&>7QBVVLVV zng1R?_`3pM2;w&I+zy0uUviQAIUdM^f6RNHYQFRLE+Kc#h>R0P<*ZI_!jk`T^b8wY z9~25ohaQ5b@v0qHkNQ_vrm>vZJ=mP?+0akZeTH%bn4=6NbU+Q!%=(;tL-9l4UbM1H ztq-;lD&G9(**Wza^_}UqzMvR3gpR;mHwyznpJTeG@ATMQ^?O0dPqF*D{i7TK=fbAV#t8mLL9!FH9Qx>KLOly z=zONm$2|$P&3w?jyL|uv(XaByUl@ICH3ExIxU1MDjm?xDF4EY4 z@NnMo?Ilg@^%ELpJtOh6XwQ-HT)q}Y(d~s<}DV~;e)j>aiqT!k$5 zHw`%6zR2|_xN4ol9;X2GrIxCX$*#ap#d?R0d#D`(ACn!W>KCAM7}Eaas{hKC7)}vS zW*!Rw@JD7UwF7m28F@uI71bCtbmdcsl^ zGHM&>{#-N*vyeqxCDDAsf5llrA0Zlpb9DTr6i%S54UHiVjd%NHjdL$zR-CNHe1H>8 zd%I73*FID1%2H_S*Qu_(DyxW3mEFkY$@yY!*zmNb`o;WUnJ8wc=FtpG>A+FKSzg2G z5fi0+#@fdIw8J`WM6sP{o5CP`d`#0a-b|y1GL-e0uABLKV0452tJca?xywN_>(6|M zjV*kxMBKQN$FV?ae7rpi0w!d?*ysUpZkA2GBcurM7$ z7xJseuz+_qR#?*C$Bb%k;#F_TbS); zn`H+_%H&G}IGo;$ns*&)5+HMNlN}K7uW@7pNNZ6Y{S``N zE%~+tM}Gs=MfOvcL6ZE+hcT+M5(m3$jPfflMl(&JDi+guFdg<*gr_8(x?=q+Ry znj8A6%VtAQ&+`oz$VD!c+`qsDdMYKp*8=>Zr$jy!EuG$oiXu9$F=UccG~8Jn`_cRW z^=sD_`g-E$IU&!E_}xn5f3%3-X(PH3@q|QN7xYAyy}$V)m+5&qm=xtj0aD(qvq)kyxEbrr5xN?V3C( zNI8cgg*pXJ?REgv3lFSs7TwNR>H#qdePyj*%`ZoY5lUHOb&}Gp8S+P?M0o`Q#RDyt zVL%?%l&Ggdv)Ok)33U-qMz5rE$Q^jWS4=?vj+RF&{+<64?DY4d18&p~Bmj}A-*aG< z-{C%Su*J27sBtw0re4Ole@XOE2_<4S9PI=j*5(O-)DV~t#21Vi4l0T28{@6Lz67DF z-;GOchbhGLz|=m(_8CPwT8$kPI&Iz`!dd(c$6k-^XwUq3!_H{)=z0#UI7sl9m6rMz z`mu1Q_W(wSVguB)2HXArXYcK!Ej#Nv&;4@FJ?EZt@2yjBNhK-BK07Z244Rqc!sxJ? z+JOoQ(Z=p!X3_u5IIfx1uDTIZNl~(vktz@c6d6AAY#hd(UW?IH}Dx;*&`AI1P13e-lOg*d3N8a&~cQ}7SSy}*>$U&Re zpb-6PgmHD$3xwdw{|S%NxqIQWq2^s*qYOer|c!_lC)WrSHW~gH>MH0a!!MI!v2Pe zv^NrC%DZXrDXB?vkx8}cnJ`-Ek6E$4!R&*P#^Gqb#1j1JWEkQ-j0Tem*Ks){9&W@~d zb{ZiD@)9&grifnx#d^+bjT-t~5*gCAny`#gKiHx98tg#GY<>{sNN=sMILqtKdL1G@ z>PjT^DCX3Z?6)8#8M?ZHtY-g@8phmQA#-gY@rXX;0$gLK%L3pKCa`S_ zK;ELV)*xoSA>r1Jl0rTdZ~Zr>y)?ZPwz8%{H+EFadXqkv&)cgYQddl}?i$0Df4$Kh znjadPJ8;lTr^g)N`G^VDLV1>lL=t4B;7QpDaRw!6G}YA@nH!XA$W)N1YTc8=tt6A! zs>jkoLxz8VS-g>xLK!J}yVfg-0F-qkO?{+Vv!)JzLw$t`TIH@p9O^jGSPqb%=9={o zmJ(n%*O7KcsF46Tl<+lF3Tk2VDSH7|>ncN%DmUFHDlW;&k5Ecv9hB-5;71R5qDr-O z@Kuq)!9_we@k66J2mtIUhiDvN1(YiSZDb6pw zbs#63=kAMCyXQ4tIxoO=RsuDoOV-NDVcWYl?-(%kdPjGqn!O)>Ma|O`)z^`q>EyAQ zbHz1M8juggtVvJM5Fd=RaS?TAOfgHlwdjh(KD;ChizQ^F(D-UF6(@KOV^shx@!pEd zJP8-#vi|!4BPBLqgr}5^k-(Y`oQjyE7AQ$H>N$=c@_LmoHLca}G%eHiLMJb(i5Ul4 zT2y21SMwNu>U#8ojzfEr1`y@I9rrO6On0mQ7!qASAV!!bi+%*)U_EsRYMy?}s}Qus znm5)5;My|XI=yU;D22^RlI{q0%#QeUHlmJTLPL!1&c5o};)Err*`3U8Zl#m|NXr65 z6!LY_2JaHIcdu(r5zU z>Ff`+Do1v{F>b(+IVAWHf*{rYZxHj7*&owuK#I+e`}W5J=7#7W87{;ngY;#+Ix~A>%1xvtRIDzcg8GCC#@nI7hptL9QTpL}Emru=5v~+s96DhD zCKD=9`a;E;>raWM(Kkpc*c6ToQuEQuCM1lkpeLohmI1qAvN(Onx6~;DvI40Z!B4Zorqrs@4N95z{VO*6@ zBf=u6=|Nr0{u*mw3XeMoCSy4~6^R+71N}^?4Jl)%(iz90VOWpjBLGDK5Qo<1;9N{U z{R*(|)PN8llHVpgEzt>U?|2P6GHUfuBZ8PAJAO4&>-r^crMFFVu3Zy2g}EOB(;~5$ zwui{0b}@JqM`n(M!1zT1!z;k&iNl0S9pz>AMHn-xy$Rbcz zSi}=7`2S7G=5`Ww&jF@>UW*DPSyeD2kybWi6rIex#gxGwF=OLE#X~U%9ivM{xoq(GrGPUd~Rwki`PR>VQ zY>j(8Y%+4GN%P?F?DgTbWC^B+RwC8lnHk4?4uQGXj0EGK#AtV99-b400Pq1>UnoKrB0>PC80J>LfqXFPTi$Uvws02&jN5n&}Oq!cO&@)LG%B7s> zvzSq*Qj7;>Il3MwN%c5F6-*g%cYWYPXk`-X1{qx!7S{8u6eMX$Us7KdEp6djxYD_l zUNI?gY?<|47TOj$Ft)g`n1eCp+EsRNID>a(u8D?R9UIh`>0j|f7drhE89JzCEXUFA&$5YC6GYAWZx#ieLO!71Te*wynq0hMr>*A$i9DdF(*V zkTvtocm2k%{4R@{SDIsItCa`RE%n9o2PkYAM4ydK>WM5Lc|?5mAj=6LW4i++3c=rP z6O6Cnkms_PEL~$p_*I9gtDC0 zx*^sPq-cw`V85E&iTYSSotBHB$;!1crW)u6353B8bG~{AS$j_ge>s(sarK3#z)DYn z$(D7tW)Z%=TVTzWR--Jp0GbQwNet7e?C!gy5!56bN4T{$I(UGQA+*;JZ}R08?c)6b zE-_KaRzm(3&2!>dBbJ@!r>hadS4Bsby=#J)&zDvq;uu60+$0>XD+yynFcQq;h2_&& z6hU8Uo}-#PByM*CoS2ok5LB)oR#!suk=z(Sd=gMp%R5351gkkbM>WUKeO?2%Xiig* z2C2-tT8e{7I)ik`xP?Ha>r2n!8dBCEm7s&TrP(0!Eg5<7x)NRvw-g@*xH{GCplV~XOc{|KUAR|phC^9X_z!AdB>@{jHxL=+O`lc_{& z@2U?~t0AN6!*BSXly)yRDepF~z$r{w+|PBcjS$e;hmmA8iPqk-p`6bCET+F}>u5Bc zS3;F@`%@Sd(yJ3Ks@9wnlU?W~{Z!?BsAe!AAu7of?1^+Ffl?N!?Nb~AF0B>j*iiBi z!YXZ_hNfxtYx@}=$<#5!J3Sh$;7PB_{Z@pp%I^bg5ZdV}fpZ$A{xrh_OVXl3&cuWim=5K#+_6*+anCErE@3 zY^q5(5dY9ETMnib%U4-x^uvUq!|C8ZvZ7D|Xa@|41E=TMt-O#};OD;iDx8)S2E-9$ zCR&UvXrdJdpjz55u)fRrS}6*K=KSkcu%M}Hq^b#hqN7zcKlh=WMO&*dc(gDw&8wRy z*9)p~Ga>}Vhw60+A}sm4P`JEV!@;#k!H-ug10tT()9Fd6dVLa$jr5^tK+8k#LfTt` zZLl&_5^Pc-MEI1QfF{#0l?u{%sQW*2RU#iP!As&~D1ap9hcd^p?4=3U zGA)c5FFK%(!mZMKV>c>uEn>lh2enXHb8`_<-2Nw7`;4ayQg%b+LE9v9V` zK8}}$t(I#!zXfIc{pLl2i{XecDw}}?P_k1}v8pSXfjQz!n1{Oh|F!$>6m_1=Kv2nN zuuqWD?q*=wnSl!WA_)}f!|o%tZ!=J)a%%=^vkQe*0Tm|4WD{&~M?|g4nWO2Mf;fGJ zOu^y-Xrpfm^1`N|UVse{Ntx6GJpsI!veKt=#0nXP-TS(bVaS)b+#>3+kk0-e@V=~I znN(1uwuiBq#FY%dNy1;9wYBQw#a(_9K7>cj?{1#4-KnG`nP`)C&2ZK{ouTBi8RT|^ z?h;=LOG^I{ElV>SJGLuuk{FR(4kMnovNm{HPMO@5jRE(#TCl7AY;sv}rJul0?MoZT zVgPMgrOJT0#Fa)bC&A^lWW@4Pq~G_aWz2>AV}%pi4Ud|E@Th2>uF3#2_B4`AHjWXWD8&ZABr)tw$16ND0le0}wnp0Yt8v0D>99(9zaZ zVSq?j@HRayG+neB0D&*uMTrz7QUFEV5>IJSGN*UzkY^7#)+GXt5Z)C8#DxGv7vaMe zRIO0-pxK@na6~Xu2iE3emG`9Df=I>)dutWnso|U!=o(YoZ|*qUXjQS8GIH@#Et-_)8s{TBnfAt@u6 z1Q1%YnaRBA|2sgEQ@{NG6}kC?ken-;K|Ii2Q=GT}^brO)=i1uyLSv}vnSA(TN4P@Dduouh6kd8h3{~J@h&ErDvZWhp6Ym;>R7YQi5v=zS;Ob>2~E(HT&+cHvP=eP{($w|A~wkj8>D)H=8-{~w_VYbTqbDu z1Q1|?Qg))jLLfx>QA3-gIVR~kdr8T@LT}44i_kD35Me!Xp9x5^1Dd)vOnV@-H7z2X zt_d4niWHwoCcI5ISB*1l#FmUxX4*`4YsLJ@iI^jv*zhTgEhN?2UtLG#rEM9uYzj<{Ff~RpHMk`zfXTZz3=F4$fvWDoK-DtI zsA~C1!Ah#dP}~_H>stV_z6BtJqN!_r0T80b>lXls@;mngNSN=q7sT0CW}g~>3@!3P z7%2M7_wTBYRHGF0JKDzlMvD1~0y0OoPe8{w-wx%K9DB<9>HSoZ&GzRt~h(V(h0S=|%)5ya{Kh zJAiV);*qB|B_;JDBVfbXT#|^qsJNR>Kk5i#+FqfOfOT{W`N8-UrS&+8_h?8MO~AhiF-M zm>G&S_IGqZAjaZl=5zLXBzcRKy*^>Jy=VGEL#j`V3SE_ypl&`fn9~XsO4f!h5*a`v zycL-3nrhz?3N2+td?oc`_t)9+A~zHKWcv1PW=xRxm5SzE0!5GkN;HOe42m1n>By( z)86)&zQfjH1))Xr!c|U5DSQZZ_DVUdytt*f9q~S}hXXB;!7HE0seEKi#1jB)!wBHT z1MsWm7(&28p9(-swdKlS^`&tIA%9)B~ zECf;1EE+<4T0~5m5ydj-*h<1Zkvxy$z<&2-(6MY*L+JID@6_MLGUz>;7ymMv>GVTh zD&|>w88#6f7lRqNSbrk7v@gP!`K@dn0A+-Mmt+JeVG{LR3I(NNM4A_JCy`S@Ny0D@ z4jL9dBp?Tdq{0rEM9d@Vd9neQVIjZ1_g93vcf2& z)}8X))29Z;j?Je@0u64D<_(O+z~QyxL`A$b7}Mzom>#izB&i%PCC~)DF~*@cF)?`IHgJN0A#zQuC?^6Sh@$%x zk-~#V2=>_5KBmxT;zmiOIf!!jUPxAT)<0<57tpLS2OPYS=vH)%=|N2(i+QTH#v3nH zjkmTn-gc>Ke0J?I-;Qq`{10LB#N$Q{&odzeOljOk9no%$TV$HXooU=SR37*AZ|qq* zr$~a%Dq0~Y5wK(eS4ezUMJvj)rxjA1P?UwRFNHy4l%&pV_TRb!PiR^#)F@lk(pJD4 zwUnSr8$>C;Lr&*StqM#qnO9SH)*%~(mt%r zwFA524EdSuG9^VWBLRsPVxdyug-UF-ETN}8dfmbSwZO*KYR!+vtc%cHAsOgJ3-XQU zH_~^;dz>HAaj)Trbu8EN2|qV+hX>Bi$a4|)k>Z5@1M)Wt<^WfVfB9kK-p%@{R9er# zxBSbeHpSWbD&G|RQv@FU*y3u$>L^TV>0GdmYzrK+V2LZS#u?^2C=RI*==P#jJZNk~ z{;GZN=FGfDeLW#}n`xfhs64r${Je^gvgDX2HwM0v|G3t6pg75gA`PYlxO$4NWQWe@ z&<#L1>Q<2K^qXP>#i;LunnqQ1x>}P*DUl>&$RL=+HUM)~!?xk*$1la*fi%y~S72U_%%x{P8#*b6!*e72$N}MYOxzUASeuDz)OS*U@SqOqyaO6iNdgU`V=NC$oPlCWN!dRoMo+b6Lk%Px~{jF!Qoqw z*3pi%*pD94B56!cA-OPIiL|{T&?>^(sDh}_3Ii}Wyb~}SJx!bdl7dXd zPZKY3_e5?-OtNwzrdbdZ*zJ+iT1QT}fZNDvCURO!b(bi6jwXd+*xw#0F2c=h}5woU)IeE4!fWx#IxMOfnOPPht{hUWX$Aa=Cip zECI*sy~QWve^-5THGWrh!!y9#(;_gSnR@~Q5-nigfdN7gBm))I&DGNs7>MK^=x8b- zuPx@G13YdB(aAsr?;uLt>_UM7$~ln0L+D2D_)A~_LL-$_77!gW$%W-$qf7>0E)K95 z=OZNp7ir4OiqL>1RkDkV(QBOJ3<6 zzSxx0FSHI0;HYlxNuw0CBivK9;wgzey^*{3bS|r#cr1x?pgL@ys`PjIp2cct8LmJR zTeL^TX`!0+V?C7dSIm!Sgu{8w<#kSOCZp#ewzBx~f8*^ezVGMLb{1QonS*OMNe>ymIaHuWJuTxKAQy$sQ?mh$3N9_57-Lbm?tf4ze%R5u2 zkC-C6;76ch$r~^2rF(L`Y~6XGYmP#*lCJDX9tuZNUKp3t={xN{PjR0Mi*-5@l73B4 zm$gKqh|DLeUdT)&!6GET!B){5?EE{}9R^d*$TZG6H?jTb3{1Mx$5rh2R(VR|j(XAn(IP)>pt(Jm4K`U+RWpQr(r4=BNf zd2ocVCRUr@`N_O_oPQt7n&0~=MF5!dS3mL3^^3|niJZFwqKbZtO(Pt?Y_*7NLKKmpeVVLYd9CWbI zC>_yJ10L)2$>&qQLUX%FFM@V5iP3?MTOPR-`P8pq!uJE;i1nKv>QdT}ikQ!47N7vi zg*eB1?5qv^KwauA)P1M40TTfgnos#;v=h!GjnWJxRe(bk3N%LJ37)-_HXHH^mC+B& zI4MTN8<}e)B&uVAf~`zk7H-JTv~fGoS}|ox z!5^i%#;==Whb<~4Vea(Ys^4wEWXh(MfM4ly+Y-spO60ahdwk5rc+Q5?YTsIuHQ}91s`SnAS51K+^e?PC^u1$r-XTon#Q94ifDuw$4@n67?ayMYuwE z5mdo2SHUk_q^C>If&$Ex1@=Z~0G8O))Mvn}a_aKgBneS+@M)PE`Vzr_XaMFnxtUL`^ ziYi!3Bz_G{aJZO)FgxygstiSIDy?`XUV~lIE$fj4-?9NJCcA7p*ijC+l0u8Lt_PEb z9x)@AeCa(Tl~l!+?NH%mb=`qI1vw%%=NKE~BQG~1{DL*~Hde9FLNe_mzSK*n;_IR85E4JwoF_>!1@q;== z;{?dIkG4F-QLZrXp}?gFEOqVYRxq-SZ0HKIwmckCLmto z6>0?Xg1FPAq)OD)>2El!m4|9go7&peiP;iBnyIObz5W-2_jz}&gI#fGUOk7?;6Wx z=w)HPyP*2&f;N=3vecEz!c%>i1sc#l3=v)JG`#8bEem=;ILfjYj2XG6SG;gjn^k_| z6_V$koRkM;4JeM|6I5TM`v~$yled0B&$@2~IVEH;=V7=zVBp}jQevA5KtC#Do>J&q zWBKQ~7cU2{%QJICQ3Uw0`-!WER#ixxf{I*P$0_h1mrb2I*TdjW8MS4MEb)>AL{B5h4bJ~C7Y zSkXYQtLG~1Kv2)_7-*va&4(Fkw8;3XnUC5f6_T!aUjdb?4{ARGFSMWCG2ZF3gXuFq z+TUm58+Nu;lkqKwSM9q|Z5reAnOXhOt3er@seL-FE@zETzN9oDZNBy0Kz;UJo$8ea zJ#5}S6s1YcQRlGvA#RyRYu?PS!qIQym-OuBd-!GVtmX~;Vq!F};}>NO3biT5JS(uy z0Vc|I_HD!B#PWak%r{1mZ8;dOu-va~%GpZ@dl`YD-b^wTrrhjbuwJ^HeYF-IM!BTL z2mmwIMY(TJ1zLPzAH@cRwi$L9 z@y_Y=FU|gGc{M~W%OKezE+!vFQoY+6Z4YBfLKQZ&w=DI(cCW&0VX@Jyln@h7SOV3c zp2*rEUt0c*Ps=FTAIu_O!zy&#Udf*XEKg?3fava-W|#5hwTo+Jd=gp#Og+krMn7=VyyMhy?In zEIkr`=)*aLCLmybkuAV0Nd-r52KGD!;i!NlmwpvgK=0&cvrCO;v8ZNEYZiaGdnl2X zVRG;A@C$c($VnI5ibhx1t{^ux2uvY5JvQBn_KMk?z>@lrc7DGCtHiWcGh1Nwy`Ph? zdjA%>I=-D)GBRzqQBbC6*|w+qrK>kyfmIR*d-LGG>R|OBEU#E&8@9*}@=B7fl~?0s zc{T2gkcGS&ck+s4(k|n78a&EPaXtxj}?TWZBUYbab z545Z}&EYncVn|4DRbitoYhF9(3cKQvdvEg7tRMs@0QbdV+8SzVETADg@btB;E3~=l^IEbhIm5@1KKm` z{Rp!LBZZwi+GLbfC!>%kho4{jWOKW0GW#5PRyHqj;D#W(lTk?QrsBxiKp0@rX3gU? zqRk}3c2rCaIYOc~Ejb=c%AcINZi;2=ne$Z5JeUsqXp?@Kj8ga0wrrlciPPJ0P-2+O zt;$islBahnOYQn$o&XmqwG%y2nOlYU>T^9SO5rQ zxi+5$1Ukt!0)2{UT9hix?1Q@=`AQaSjGajXjRMGfFw~8= zWiiMMg$iozNg2yns8)r@sYzo$Qcoi!lg?5OhOA+=p5yI%kA@-(Ox9) z1SS$x7)uH^VDUE}DPEEyLB6?9?f~1$M6}Ue*8CZL9fJu~uSo`lB8wBAY|5HH03yc$ z)kpb#iYb%B>Q^<8>v{T4p6W<}xAUt=*N6GNhTjkITSe)4l&)KkvOHl|s2;|2uL4X= z83Dnv*IT-%+xvJJDTdhgdgPk{Yty@%FTOuqU+I(+n>3DKd!%HM2FdZy9PAF`%SKTAUEm zPWh172+gc$0%e7a1+JZnz?_geDLx=2DUaxlCU3ZjRYi&!vC4p9YF-Qvlk|wMV z>4Iql4dhsLwS?T&y1u~)2UJk<@~l!5D0WsG0Lx~%p}NYi&Z_7kH^TOeDMUrwiP`F? z%)zWE$CdPb=}aFq8RU`I@1Tv0J3sD>@Rwa-+@3B*c_ z(FqWY(Uo@Z*`9$tIGk6qLi%MVThK;^CaTN4m}Zk8BU6ykDcYgiOoS$A(hrNAVF)zW zP|sSqbJX$;xh1g*UNyseRMH0&t-#kOSf=xJTgs?9cvNCsI$8y(fKGHGeWfQP0XZU4 zgJ6O!^eCJo3WQviL^^;aq(mZLbeP>2X@L}M3CeNX;kD=t(@Sa|%}$5c++n(~+~KZ_ zI~>(Xv8f>ar!#H98$9-OkZ!imi2gVy zajw~Wvumv@lbEN6B1S28CCVo{8&q??60inU?JFn)%1-Rc?haQ?@BP`lc^Cg~Yu@p5DMjj6el8yUH}OcpGvgr- zO_;Tif`3d`%-I@@^Q=LDcp^?^48S^@B4=Zkk#Jsd0%=Z^iwzXezC@-OAcNX$K7G9x zHE3hg8qT)5!WWd%NY)w*WjY`o7@b5lk_}Rc8}6MxwCZt}5OXd}c8`{`D&;^rsBpGi zX!xqo%GH8c@w9nIK3A?Co#xleDaikdSw#AY80$61G=xMI+igOtsj&c$#2ukm28Icy z_WLGSq^8Dp8AlfBSzJ!1f8x0>O`Y>CwaX$!KuBei%Sm(;s|}7Wx>zd{hB}5~B%Lp# zPMB6g5+%!qqbfd<-Hkbi7&rsNdHr6=*xA#=bKO47qMhq*Pqx@2d@F)>$QGMeqSR|2 zyi$tPC1FCeitQsV*FCh2@>twM;i6mb|5nU%AtV=2b@0Pb(Or>&>c|z{9WJ7~n&0NW zi|*|j}v)=;p2c)1_eNN_Hn#D46;alP3r}coo`VP^9E=p>vJ~nQh8yL zG#`+BA)G)rXg>Dce7Y)d3bOr&MO10zTsGxKggrv7rs~;b$ z=Ld)D)$nor!#KjnSw$DF%Eu8}xaxcy1hJaddRnd+OQ^0+zx2HZaM?1dbzqZDnf zZImVI*M|#-hcVgV8I%%Ic6cZ!tF*#Q-R|%tQ`42miml3p!?P|#%@{#)cuLioTA$x! zuL~%u_w$?KhMd<6hes#L?BMYDfEinm9+(sU8aq6Yd*9(X+FZcl!P*Fihl@?cVwN4A zqpib3Qq@2XkBW5;&rv%(gU!Cf1Kqop!37*1cRiLOC5J~m8NlUYXNPAJ&Z#s_wD6Rq zWwOeyk9l^R!{ff>_Lan4t?RSo@T_xyfgGMv?1s_2)!|X+YED7nYYsj+h2fmIKne9G zJb611g`^WdvODHwhevxk2)y0B9myi-iYhcZI7E92gts%cw}T@=b#0aQb}%x}oZ8~; zlrex|&)eZZh=sR1&jxbZ`~e$KJLhKP*)@OJF{kHXuz9&TIqcBroB?a1<`D!d&u zyGAd8I+V9#K~A(H!K#-2(-@K69%J%$I`FXzZ0$9*D{OC(;H&L+ZSu`!Mq@lmZI}bG zB=k#7qF6};xl`foNMBg^aMFe_7e?ceRswb2j#JnOXEKEFb~q}_&VwYpq#+njWmFwd zQgzxQPzB|7BoV`q?BH|(te&@nY;+H$UkUhB>r2Aj;?3TUJG|tcjoJ>cM`zFp(I>4_ zTTkB3c)7z}8FzT$p3zt5SoGX8Ia6JSb(6fERvSf!OUd%B+DM_%g|}lZowTXYl!GQr zFZvqmFBx%GRm#yZFV1ykUbVM_8%Rk>V&bnVS=tM?CQN>htVZlO5e&^FUQOQ4xbN*4 zK9|$m!CBR?mc1Q@lc9Ti-VUp<6<83#7AJrPaps=4qw<}%BUiDOts_f6c{|B&TZ9KM z?CrQq*-qY0dFj2K)Y!t?Sz~m&cssV)oMU%*;q7qAu`Yf4`^p@{l{p46{*^ffM9b&s z9K$zXnPXToxo^0T$&JdpGRJUbjsc6gZ*|)wx-!Rr71Yf`IAp&tVz10G^sH_fjtaae zqR?91SLPUSUV2vdl{p5b1S_8AIff6|>Sos(EzjE_>OG05cR#HqMZHs6%LFft0}?bS)+Cyi-ZSdWx~|I^^_CBUFJ^Z*MZMWuakr>9r7ed0AV^W~eSlyQ z^@b4>2=){81_axp-kkO#VAK0H>OH{=-e=T11?>kB^)?80je1jUc-`&T57(23di#fQ zMAUmiOk~ouQSV7V>aFl|M7=#zayg>jWDq&(&F^u?)}7#!qTaVgV$Us+*TX&qH{g+e zn4(Va;rIIZq;h5f>cJ0-_HMm1in`pLF`B)UyQ63}sSGJmin*p6ZB$NC2K?qO`m zOS0HU<+7_^TzisVlhM6Y`LWYTw2g3UP)xsI?btsnQ{`<)dyfMwX)mXEDnB4msq)(l>KnHh)Kz>kk5B5Y z2K92j{3>(my}8C(DK5$-Nh$J*_vlf|CE1oQ&lWA0Enl8h+z{!OeEEoFhq0*?^dLN& z94T8~XKMdFWy{Nk9x$b-Nqos&n#7m+Q$u%Ru?+LRF`kL;K&KfYkLygFCsY;52(r6->)uO*y|jE6M+ zy?3^JlDs!oPMhbXUCii|0WUdr5lQf7#MRGq5=rf%j&oDJ$eNodeHMFr!iIof*ATc$y4K@q&^&FL?@l@L=K!rNG;aw&`}+%;+n* z@0TX`{geMvD^72Yxb(55Y;371@~)0uc*Us_&p0!8Yg}48uWgA-$7XC>;?f*AWCE5f zk$P1&_FrN{Dk|l?dd*15jON%dTC(o|XDiu{L~az%uG!d*j3#@xpFoZ^t$_srVNJ&{ zS*nuE=wv@fnmFQ`(tE_EF9ZU|rJdBL<0=9KHlvw0+BqAWZEmvWJUMkzg=W|`8yojS zz}92LoIs%LtbN9%lP(&BCt(nfNhe4wWn;UmR2u@a9s99*9C2y?5DAL7^qAPjSaE5g zg)1_bwL_+M81i~wktkPWSvfUyvD&9^lY+x-`ETlEmyMnBk%7okHufLW&Qk!@Z}Y3A zrqGCD&6v>@Pj5TLf)m|DwD`Ld2LZ)mM){bK34+ic>?IO+*D z04q>AC+@=8*=(^uEHqiv;HkYCb2hl_>niAvi#tGzun z&6>m+f-hxIQ)S?RII{<+~_)I zcsNa4X_f(8F8b!Sz!|pIs=-t*a<#oA)rhN<<7{c>1qXR`v%X?jUC26&Y?<2?uN3lN z>#;WflSMZDT zEo5G!3)W$)q3b{qDDmb18V8?qIL7cSTiL77Sr)WHcz$}83a=q3G9>R=pAN$=j~etK zElyRgGTZUC%U!8PIm-ZBB6qI7Dg73vJsy(`8-m$ERX{r`IOp?706%V;CN}8=@Qt+G zRSU|fiUjZxi_2UwZ7Ko$>R39EHi2KjeiXZM9fopKnzuSRF(R0`^sdAy+JowI)Q2vr zOAJK&3QqzNa>hwd_89bWt;KsbjSpK|!avdp1i#eB!#0fxgxQpr){sP9l#x6{XQ(<3 z=~e=>OnL0{WXhwcb~WXbrh>dt7}Wt$Y^N~jcYi(WFgk4Sh4p2r!<-o7cB8{s8+7Bi*eUH@R?~z5@U~5ujR$$ zfwP@?(CmIzy#{z>23}y*tF1)`(2p(hz`2}GKi#+dcMqVa(6g+h%fHu*EPwBUp>87r z92~vq0Q%?jUNf@%ZEJ}{pG|RDcuWVgN^^1+A+w8LCzYr=(1!1(O zb(#C$d&X?SWTNf<*n37~6A!%i%thseYg3Z?GrIST%=-cMyKt)3G4Ex3V%~f2neFDi zPJ5B{x5d2oAuz3_(u<~RN#Rmn_)QpZ_T;YC-ZQohwE<0a^_ltAGB#up_V=E-hR_E> z@0b+qP2Q`93S#dWmtUCoH?d2NUiFt^ZrOV#DpOU5!jzMFAII<5qP>{CX9T7&?;Rtr zWDMK9pLgbcQk@I)K1I{RsF!&!`%}vQ$?QEN+Jn%LRNdYvvM18!DwlWf8C*A6_=B+U z!-LF zNIcpi@d6v#IJMGJe28}u8_)=576i1T8Zq2bjn^d$A6d}sXG5FhkAL=UXmeGY?xFxN zn9zncSJ|Fc4!H(>WkVZW_)EK?%?;g#HaG6Mp-q_m+R#Qp)^Gp_Sj7_0{cdRU8F2ut zgozx`&3fSgTnYW#iXbi}xOkVZ3pfDw6zu?P-S+1Hc!fg$>|DEahQ*F7jA1{6`&b`mI`_b*{0!@r=Vj@CU(9ajKFp>J)L{g5 zs2c?8O6^``)C~f4C_14|K1Mmm;Ro<@O)B!dk2)#>RZFO&!~%6}@y*~wG;ahf$MMxP0jvl!G1dPF|i$N z+M(4P$be;r^*Hj4-d`(mEm)QKJuJTAjH=N5^c@6#)jufRP3kIktn^w(q6JD~=(EGCuraWs~5ogA-6lc|x6F zgc26otj$oskVZOq&o*p#wR#p)SY4%03wXPyBRfRTWrsz6ZM$S#1QXg5Y`)cEYYWO zu?1Y;bJ~vU(n&RIImfG_8)O{i4RF)7p>#noN+j2jn@UhT`BBkT5CGo?d%<`h*R% zrf;%z78v z|DMx)_!o3OuWJ2m@3q7sn*$9^Hcew5q^e=hp} zD<5v$qyNV<9mO>SBOL=+Dph8OS^OM}pDKQCiJ#lz=l1wvQHU7lE`9{T2cK1ZspBt9 zh+F7ez%V5yiQ`AiWT7Gh`_0FhN9*TXkvAg~h%Nj?i_G5Zq(sN~ ziRvHbt~xbG9|B>A`Z)r}sXrg!_v%Mg3xZ+q=YX4PjBnO0UC50yeLZuWgmjSFF z5pW9uNZGRN-wy&dZi7bvSBSW`#u2E?Rf;{H z2ZZ>!3rCGQX8$+i6lCarFpmh$$EHEg2o8NG8+Rx+8j6jUi+de_-uaMipAmX^O zkRI6~n~DU9Lsva{YzES{x-bwYxG5(S(lcZ7Wa2KEKgC%a!FxJz0>?xrP|OKaHDXIK zbdR*=I8A0gPDXtR^riGJx{%#fBdTRhJk(j6#|Hm8x{e)N`4JvP5eu}O~ zx>8eqjSwa-B-?>(ByJeneg0w9XuhUx8{uqSkx7BLyKqlAZM^NN$tW>#+eMpyOH2$G zxQpr!1Szs(k8L&TZkF_rMAt(W7Y zcSQ^|1N$7d*Yd|ANh%SKa2zv1qaVubMP$ zc|OQ;j>n`6fpRR+G-~9ZqAWQPI9?};SO6tn|FvEtopC2Lc$Q@^ef=rDhUC&g(LOWA zAdRp8Mz2u~IulH8x8+KEQy}t{1}#(QW)}fcKWGthaN*s=i9|Zjc^!~qn{aY{R&Ug^ zdqro+iw+1Y9T3Dr;3$ldEaU>)rR!7yg_0rPYP>nSQ31!XSk6AR`caP*1CXQXK!m>O z#{fViYdR&LFi31c3wnlR5w zNsogJ3X(+~N;A_so#BFWC0bJeEMs=7A z1_TK@Aw9Lm=CVvqRx^Qo!*#NmbY!+MNcjTmcda8(qJChXH%}o76vp5IZ>YWp@QOWv zXMWxRctrp&z1{}AB7m1(Zv&o=765qZb!!xK!1IX%Ag9;@y#0(BAc*qtf<9^$TJ?kji>UBZU zgFTR9%ZzEkjwTh)|7rQ(rs(u~ffT*|DZMsDr`HRl==D$9dlypD>jhHu`dxY*6y2Um z*c|Io^dTsE07Y*=(c1VMC*TklLD3tDRmDF}sNJa6MbU>{Cjw)MqFMAG6ixl6=wmxl z^sd0$7e(&?ygo&H)BD8l33z>qE^PsaI7q}yYEqKeeTYR_fr!7k=be@)4z4&Z8M<2J zgK}j!8fByaV<#kfLno#ysjy=9{^2}R2Rwg-4(*Ed)o3yM)qXK_X;-YZF`~9#>lZ_( zcE$Q?wV3^SzZkl;E7o#F)b@dXu}QC3%NKEG`DgU-#YyI(e6n3g?_Q!k@B8? zvE7mK-hQ#&k@9H2*zQPqU%%MyNLecO*^QKU_eZolQhugiY@46?WKS<|v50)<%XNL* zgG?F>9#nJ|#k2YF{~(JOPewk(@S#)B$g;PiD&vs$J!%>6TFcY3?4kGUyPmaO>$#ZT z%=S}@EY0^^5*T&>{AbGmd}by~WMA+rcJ1-!;}t!TpWbgp<*pT7L~nMdiCdO>BM?4z zSwV=Qz2A}V4#F>>(@q`OZ&kYk@gn+jVIcPVBQXBbB?03d7X-q7hkxOoKk-DlZ)#lG zl^Vgxe!FvF*+Ozb*B=4$moGOUVaWaV{K9~oooQw--EUR9L-Hc}vj-&m9TF)2MxZRE zVe+rPygEjHJ9EnW5|tMmL_G{;gANS>b&0{TCXV1t6xMIY-lM3Q;1%0mX|NkxtAzxTGT@2iJ7cEdADaE0r1Shj(GiC+H{$R9&xJ@v6W|q%$RT;{Q zt32A-U&R;XzvV8E&-N-7_@B6};14}=X~2&tWh|{i=_87TzArW1(aPYU61P6O6#fw41UgJsH$XJ-|n*(-`?ui4wAY3tHuHcEj@Xr{X&k=?l}1T76)x#_fP&8 z1ph;@?arMQ@jrTLAb&xE#rn7y$X{?Y%+>8nfA64Zlf#Lt_(hoNZBFBbkhOza-ByW! z`27mJ+Jq@Cy9uL-h)cti_Lt3(tqBuYVpd5LjeGdwI{_^?-Qj_|9OL1$> zSp_FZWX*?UvN}Yjm#iRPmwJ>z$Tr_BOQM7hrsB`{b@eu0>Y6pL^Y+78b525umj9JX zU_+8yt{PeS&^(cyZeBG!buiDSZ}wYyq0E07WvS3WnwS-I2M1K~h#S#@@8+1+(`L;( zml`3Zb9ueF+I?MWm*vxyms&i7bop1OhtDXE^t*mb)Jm6WpW0^M;jaH|+wP)!T8y2O zajKPnwbI#R876aTd<#Up=u(T-r(IhVn!esO3H(j8HT!P2@V)MjhVKgaDIWf!k{xKE zrgAo&eoyy4frrf2*>NA^I-P#2U+PoRP#+pD-~aG%hem&BD9EJm_=>egKi+*8_m6D3 zf5&k8&C!lp`H`i&Z`xA!C%XIS)4y9P{r2vTx3jl(Wux669ku`yefHaY=hAm?EvJvE zKWQI=7A(i1fV2(931?>oBEXUeYBu|Iui2pH*$qUTEI7AbwupO@YxBlSWt?(FHp>~|PbBB#_N5A+Q!yw0%*IZFRuroKgkEVF~Mw=@{*u(hbKMGb|X z*OCw2fgs-8p)u~if6M(_x7`20mizD9a{rd$^g9>b&7-#v{B-(@er$9F3rXODEX&<0 zdv2DUf6ndRj)MLFmv*1%Uf!sBIHv7IV_)27o)&1&)aU=FS79!p-HVB# zS}jFojhE+xKswT)x9(Zw&=NymR**o>GHn62E-Y7Asu;8bc!PFwYGv1xV#{J9<(})) z=25=bvH74zuXNg@`7Oi0efkr?I0*%gM0LPMqu>zA2Sw(7j?-X{?NbQ`>F>?32@1xu@(CkuI|K zqG&Jj_F~Xpl4^+ZsQ=Vxa{|GCb3TZYiH>kC2 zA?ET>5mhENO|@DvT;*q)a}Ow+43KJ3(OSiYwUJhVmS+%aB}-DZJ~}%UN*r=yiqPv+ zC#+l;C||YtP;_%uE8rx>@+v#i(3UEI&o=Kroi0x6*a=qTo^58Q$-JeUM!^d8@oAQ+ zX7}?%Lu*(XH#lAA_tULh_c?3Wx7_F5eSg^9U|GVLwi;4~?@q(6HBt?ni2^MQHTSW@ zj8<$EY1~`^MZ*Fn0+bp#%Q)ChDi*k{0?ps{=;7eihRzRK6wDbNFdm$#2dBMcl>TU~ zxga<+3RoLqK<0Fn7wmoS)e@2d2_3*t+pX9}SepvYZdOgkxhBHF=)ko3Kww}B@Yzz1 z;|MMfq|so_r+za(Wx7HoLZ!fkk!q!kRx-~{rZr1-HaJn9&|p&`f$?siSTV!|th7O! zH#cIkD-`YG%XP5s{r2=1vOm&FU1Zz+zMRcLCh26bBEq{TY1hit3?rNYH62B#L8 zPSqEc^Cl7_z8cK|cC5rw7j}AqQD&J8x-F1}4AhDN!*5cL4_08r7E2;rv9~T%8Kq+D_Y@cmZ}HKWcV4U~Q>*Ef)!Qw9R?| z)3#oT=%;h7QuM+_w3FayqIUF?yP$0yfMD8Qvk($-i=huN6!>!aZ`Qo`oc4z}Hy0CY zYqLx;vus&m2nuK%=|KmXwSD4=(LG4e>$SLR1Mp_e`M-V6Db2JZdyrIlbN=Jk`yR;y z-$@p6?i0n%AMj%fpiQCwOmpC@nj4*BldIFzl%Kg@YeuJYc9^e9_@Oufb+Aj>f?HsR z<{BR5XE)~sL@AlN+FYMbg(x`6Lo0R*k!fNXwr2*2!sUwo%|SiO-c^W;oE3}K{hSJV zlGV26qET~wyVpm(a_9YwdoZk~k}8}!aT3XtKR`3=H!RT51B4xG6Jxcj>ZO{KtQ{3b zhluahzWCNRCFOmjQ-(~pfGIjrPN&YIbV8Ja@B6{;U?Iv2iSlA0%9rjD<>_AAsI>w{ z>mtD{{VXgP=|Ild&9lf75fxo#0Kg2ovzP&96u-L`gAX(yUF6UXoD8o~Y$2d>#Ei~W zP%S7ieUTIyC=}Q+ypi+u_=Q|Uim^6B0%#TFVxma^72@<_SpXFm6hPiwE-(sSdID&N z7YhLt7U4Dlq{I5?=CS}%Md}ut-dUBj0tgOI8sDnVB4|}$VdWoN87+w*K4%4u1Sfdo z#76cwqR>u~i06_-2mwi`Rubtf7wwoj1a*>>Y`z&Fh3*$p38L9%R>0*IdpcOpvTtOP zN?frGn}&ma)t1(S=6sFW zvs>lj#oaC4EDGE5w3#F3tAj%=MJlwtQvY~X*eud73LU8jEbMJhJ(V&SowYp zeU~`WJ|b+?-JUgxD9VcyJwY_Mb6vyC&rs5GhQgLJp=F0)p#+Aa7okIBR&HK8sRZ&lMawAiw;2iKv9do#F1Ldla9fqttBRWaw2Kb9FT&L zt(40+rvA((l(mp_Us!W8FIvr%^yN_H3}k&C(5BWzmRxNk+vuq*Ijpe{hcyOys{`CY z)9R2q@Nw$np8(MHivG5p;aO@$BTx0c`C}@N_IkT7hWc&JSE}xZx~q3`r7%?UNPF>< zTmZ(bc~!a)HrTzm`RF@7@{ZvHKJKNVZV?!Iu9~Vx%@<$`v0Ft0JD`D1W4C46r87yu z=DfQgNzi=iqaFtIt<4t7FQfYWp8FSNrIt9t!W)OE4~zk`o(~bZL#fE(L30GW5so?<;h6!d)6@?ZH|@e>{kbckV>~%(a%D>`NYU#X7=Xg;lCbC7FXPXOz@wJdhV;Bp>xiQ}*G1Oaea{_}P6L$1qB7{< z-1AR+gC4F@XDN;mKu6Gcn~5@N2-E##1n$QR*9#tCq9b={%^$Pn&!3ZBAS8(J*y~4f z-bB(ONm4|nWCzh<0Lt(x?{KJ_j8aq$eh%l_Y;ih5~1_Vk!31WRBIU3=C?h^^*p?)tR&Ng1#WBtobP>3ydFPWonA3Mlu1=i`bEEXd|~CuKP};gTh{9yT1d)3F$&`==<40kUu@ zc|NFfx)Lv1OAg{?BR%c%%c-wydZmTcqbXdEEQbah&S+k)AQD(?ok*^d6FCfXZMeI+ zR(K>!<{JFP&?88~^}<{O5;E6V0jBm$Mr_<>#EOP6bCBvxR6+T6{5XEZLTrTE(1|CP z!SNH@pg3E{1?adx$8nIgYpC#!fDS#JqBLp5WoNfx@x~ZCz7V$9Ra4Z zjp=OYsvxehP zf~N737IvEsFFSx{*`n8>Rq1uaHxws9H0YFiY}M3Y4L1J->82*xEE{pgCM=-O@@o`= z3aeEBR#=ox3t@oL`|_oo&5+T}i`gQJsw@=QfLyg$T(M>NqNaL;(9@ChHq$sYYO`*S zI8Jh1WWR%4Ps*pc&Xlh)rVZ0pn%AZ4v7TC5H?QTw=HDAyn~XvMK*C|=33@5f)3|N* zICc*UxuO`@Kmq+YSt)UwA_yG%GwRfjzvYNq#3VvJge38u2neIrQZTuM-w15jk_m+& z+oj_-u1$-2#S4OxP-nPa-eA*v=n3N}Rq-2JBeBSDb)A zGv@5VJu2)TA;EWZkBW}lQc&qQ!~o$PQSei^OpKO>x^R#nq8MEAB{hU&j0EYZaq%>7wD93%|Cj?qdO4Lu~BrKp2XW2C4YB*z&j91fCYZ8%79tCa+1-yV&N>iwa? zu0UBhzTqGR*kioMFlEE8sLPWuWO=vD%g(;I5c&NniX_|$!RwE?v+qDimVx2uq-g}? zy+Gq1?SRD0LfKT_{N4;!Hi^N4O^d`}iB)CL)&&eEi^U8Eb%h^9Z-E%dU_96_J1`i6 zBMda@%hr$L^2z&A)7kfNQiJ%_&dhZBzJGE4e3r*?1=xvrZUIe2g_@VqZGIkfuv=x{D~6%iCJY3wWUsgiC_omtRO0|^kNFXbX+KRzHX*FAHsE#(Q$T&X@d4<7 zzJls1S>p>g6{IG9$I3_m<0>3hRW5#)u^Rl2>|ay2WfVChW63BQv_?_YYs~h$kW5qJ z>)tDQ7gTj@J}OS=!d0vPj+oo}c066y1d0BZ=orhupDV2EN4>hutr9*3H9nYq?p2my`Z~Dt#TKZY$XUf?7`mnwBPzjiV+ur z9ht*y>b_qpC|e!*dMrlnK}&xcWQ6Z6M=<1MLh0N?KR=S5FDhb0Es|+^aqSo_vWXZ5 zDD}~9ZlZ`?Sv|*wyp|(VBx=a%N$Ync+gTO1rZ*%p6fXw7iIEaBDG*{2DJLh!+SLSR z&@ymA8}sO*AnH}P06lxYtx5L0-MAh4Jg=7vnOiz>1JQt5=mcwT-;*^E&|5n_LLg_U(Al=)P24ZLW=-DA{2)WEA zvo|r!DkrXq%k+o+uNFr~DUQTf>Om*g%dt2;5kxye_Iu6Af z27B*axw@6&FBzMeIyM>GzUu+K)Fz2C&N1A21EABGQc};&vzgGQjQLQ)6Dz2ZY%5L_ z5Cr-in)^=hKASQ;!W%?K3!i8YZhc@J5h&4~5F)(Gm8#e8si)A>SZ4-JW5<4c7yC}4 z8H(uy`*rzGn|0d6Uv39cVZRngaOB#K;Yz7vBp3+(?$1is9|=oIONKDRpYlj1@dI$F zuBl9SqXxl#u0fewIt(`PCoE@G=vKkvmf|*|aa1BaW19H~eFN?Y@BXRDgrq4E*Mdxt zCUXBAhB)x7;>Kw5(ahmKkkFCP>)%eT!U1;dxOo-?BXb=6R~_# zp#Nt+mQP>(iu32QTy29CST53S@X1PUS!#iuQ^6kc7*NL0CJa)ZhB?eIKz8ooDV%)% z6|a2N%TCA71EB4R|MH)|_LMuT3Is|oERLKB*G2uRNnI>9r_*u_oP#Yu@%3f1NF z6>={b0X-Y4Ywh=`kZyM+Rd>gJmX^0JiK6M}*hn_>Z>>ZBD!&wRH)fcA7z@T|eT#B1s7nd_G zzb7tnM4LCqWyR&&x()FEeOy22VAAD_4Mb?m6ze#KY`|#fNexu(4n! zc++#)Aue0X(eWey}w3&303?Db-0WvsKJoH1F^NUnZ|DZ#3hq zNPmig2paK4v8G9@uT5co>-P z-O;wnYNA#e^`Ac7$Y~M>%j{ZjxGV~11lme}5*4~W_KMdX+s^AJA}5wN8WY1GHPva$ z@HN#uJ1!Hrg85w+Xa^05kXL^fXeh2aSFjHzBKk0hK#TJ3@O-^G3Rc_>nO; zMW!1F>5-?7Cz+m_&Kby9(s4*O6&i7+{a(M+!gl&vyT5UBUhLz48M6``h=!H!A0T;v z4nV>YF{K?|0t^0?)XgHc=BDRk_o)nXEC*-~jc#P>e8uJ_^tlMR8gKIYh{=Nx>g??# z<;o%)&TZ}KJ2j$Dz8usy69qeosQW+wHa=)>yt9@%TjgxEiVHC&7lH2$gu5gV$DPed zRL~`HYEaGatqxY2uYd%bN^?@saLMP&`B`ng`F|f+HLWo1GUD_$1UVP?L+0R6J+h)+ zt^+xdiX+&$65bf%suyEC1C?MU>aSPRct*|Sg%U3w2q7he0M^2pQ;mp}p~$aJWr;_f zdU}~X#2`?yrzCYW+;j7(I(J0k7@Flx^B`%VVoBK>im9rqjH)!fHJ|a1$qd|WPGSyn zL|{Lf-LL*~ASJw*GfIlyRj&a>4TOUOD7{7#6CAwhd^W5O%zk90rY_jsU4S}t))HR| z1cdpN@iNjVKVQ0#tGs!J;8j>l6B6$)uFJrt(>VF`-4k~iN%2B@TR zJ*cQ=EIH955CQXj=!A+)(2+znbo2qm1sAd`A!ywQ-;7DK(<{zMTZ5oIl=q?%zF1*6 z0bL{ZSb_uAnlHK6rA{^f?icb?jJ!T1#Mcuk5}$)XZPjGHCN8NC1%X<5Y{1U*qvpv& z&0&r8Xli4?!OK&6#69EpUicxt)`7rA8v7TOJ|pCaYD8LyL)S4Oi`hF?T)kc}5{VMg zF>qGrCP--d!|cHGt4VW!0NkA>_{p5~Hc0k~uRATV+&~&Kb|z3k$c?@K0+sh=n;W-J z*H+gs57rj{o9L2&dHip>wxWsQwE?%ItjyQe#%n{p-_{b{1e8f$jkBB+S4P7XI;z8C zDip0aF9vwsP7gU7HA=n{V0A^WX`lXg`Qjl#gea;*nA%FOZXfnrx~hG+ROwMsO?2gm z06B)Ss$nx`x~CaKRA}1y2(YY8rq!`(9geP#R|jYBT&c&KAO&H$hAiVaCe7Pd9N_YT z`-Q(XeVQ?u^Ly{h=aaQ{+SaGn-I4wGyj{N|tFHU{`Z`93&}a+6tl)2U`XufVS(gNC zo8NyQN}DRC#_cO+GDK-m$Hg`uSIz1dYFm}huj@59o>tfR>9YaLHB<;e&=e^$ZFAK@ z6u_F|%iyFQ<4WFA{Cqz9NuZ&ONddKXJAXnuV{kvMu6B+82<(xHA<(W@SL^3$>OBXe zP(+^rjUj^^>Io)DQ&k8a&b<9GX~p51&aM~CE57H(qcGo2s6O z#vo4#kE^PQTHv4^r$WfmNN;?KABLWbyj_VCe=v^tEv$#1NAv`r3W3z9T}>H2OCh@SqIJ!pAqE}+ALZC2%0 zwh%-~t3*mt3v%ED3j@2SQj0HUe4!4A7V03cn38M`?utdl(}~6eXyXS<_J=6 zXMMrT)y<8GMLCjuyoxy7YQH#I8X6k>D7=o`+^dv?v1IEWm9b7VlW=e`CbyZ|$|dvU zgekAe))%|pZc`NDlb7VTNKRei1;LuDTyxNgYBMbr3npncec z?f8aY%=oY#_bw$8^Mc+?v;z}6Od}_`&a3Pp84$03EI*|HNO8Zk1+ia({T`DjOhh&z;#ci?|q>cAb7SF-sPaB8cWoClRr^apav zLag%DaoMPY0r$Tyn#q0XLoQzeW%Hwq_tJ4XKH@`nB$ow`hvy(i;UI@0TE3tn#_=dF zgKQ-Xba}bN7aPs-IDhVZF`fMxXJ;#vg9YjL^8#+mkc;OFNfb)I9B8TlFryEQM~p=Y zf}r+`bh4cnLqnX@oAFIHdl&9a#>z}MKP!*mgq9E54Lyn*`p7_?JX)hsMA7-|$2p}6 zi=oNq2b;&=m*b!2Z=B}}71&T%<-&%-U%d}Q;V)z;tn(-t3J0rI1WNOt^c_$+s>mza zta&YF_Xfu{9c|9b0M}7LhaeNThQ!hTKJ`TQ4R^$)u3sdmkZe1i{lv=iviRSLx7K-k zoqc7k=_F#f2uz5K&P#z*_v3T?zNe4Z8xpdlV5-wz>aa?e5M0xH8e-#{_3BBPO{u!- z#QZp*KAvuGJMmVO_Nr)iRghknXnW?JY#PGs#~Z8TZ+Y_@g~H=+<`Opv*tr`RXf%jk zmikylvrOMv9YXJuqc+YM)>4AdH+WDIEp3!SiQmZ&Cw0x^mLDi-rGp!OGwMsO7la#2B#_OT}e??uJa?`*cY2GSw z6@utb8BY&a*M3tqdH6w$@$+x^kH1~MQU-0hKK~H7 z9kpMpnF(!-^#BuER4qM^IVPD9tx%)1wt^0XXLXFA23xJAq%3uldO)PiB2Yv>8_eQT z{WKVG7Mg2LHLG6@b#ON8tog(2P6AL&iBuR%gg7!~cuksBCQ+JIOn#6i|Fp@g2^j($ zv)p(b)#U8_2qPUK2UpxnTlU9z&XkG(d#t+pbamujN(jWn4`mLjQ--(ZTQrgt&Bctk z08RR8tk;^s-k}`UXAo^UrMd&Mn5dn&kQUch2ZW%J#+`sNNz|cn+Yp^lZ48uQtulH} zV^bJ`3)Rr9-V3p)W8{oU#5WTUZ7fjHJ;pJ)w_YJ66NVKn&6+x>3eM8wNp&E#(|qkIVk1;|UQ5zfKnL8-&)3kDZh1-LBj8F;0)+8GiA4lI zOx@MgA&*xPq%!O|zwtg-!%CpZoi({$CvD>K{3Vjx4?ZuqEIskuVd9q)&z&OcMBT+# z*T?QAz{p3{u{%{Z#O~wIY0G}f))CV{q8vOsd%%N01^tzfu5D<4}8G{)yMaAkezVDO8e)o@q8=Nhhe+rJt)h4O!4y z`c|mf0iDwpoq}jWr$!ArM@A=Km4I#xIZbFAa+OP7O@b2JH{6vc3X$qm4m;s8jE3M> zQH_{H(XZ0MNhXcONC4=g@D+s+mBwEagXk){KB)>5BRZW*)BA zT%ONbCUUb(Y6RjVZ; z$`%y7kZNC5?Z{1X)1+Vs77Dbt=~EPnl{e6k{Kk8xuCYCCf{~3UBqk@3xCZ1J=4D1_ zFbZ3E(o|{VMyr?}#@WVlg3y+rS1M|}T21w^6rn4q!-cx*nE*@>n1ude!!MwtCvaG` z@nuXn2<&Bb_*8;JOuzQPUIO@oG7(GBKi>@v4V{7xDA(`iH7~)|3z(q=9g3I+3=W-Y z4z&i%3dma#^7K+>lj$iLF~k;RmqLKbgloRxF>L8qKZY$Wvoin6M#1(< zzcBq4_PD|4etCg^9{=&QF7Eik*VH8r)Pd6*=V!QESN?Ye0#_h#1p-$fa0LQaAn;!o z1aeHPyvmYym}Osy9ns!B{@k|`)%%GRtPCg0o;ZcWAcqfoOpX#$2eu-bSH8>vg2J&{ z!nLnHf9@OF@ZaOldDVO88Ftfj`h%~OVWNmKjS&Bgt-q=q^S)7bTAD<}U{oN10_Vsd ze6M#rq6bl`94htY!-{V<=QIyRHwb3RpQKE)a<+LikJvJI&*6LBk!dOul7f$vTFQO? z1TP*f*)S%)Vt1~OFTSFV?n77F-jT|esyYAQDcp%iGlhHA?4h&Gzqx{oH~VSwSM>-lPuHccXK_6$G~WeY&N>nRDGi8y zV2Iz1X+6AKcK?VaqRu}B2>2&NEzdf-#t)vjd<*K3UquZ2Y>nr~_PA#hXH!ri=H8+$ zLY;Om`VTR>Ss<@9;_Q5*po$vN3^YYq`>TYG#WUfoJT?14JQ&T%(%zj|@Z|19LNci{ zS{XB%GXYbIay5I;Bs+_jRjD#dGKCm~t$x1%At2AS1CXKs?yR!h<&)%9LBE8Xsz`Hl zOwca6W!D{Akq4i*H=4NcgkbKyYqQy3tT2NjEGEz3k4#va5EN0-I7w<=TTwEsV)ipD z9y5jY&_p3N*93{u8hKU^Ht8STG8tIBYa-tZoIhY*ft7x4-KS#d4HuxGZS z5i}EJ20;&04$1d!HeLRW~UPcX%T^CjR#k`bdN zdzDJ3(@)3?G85rC{Te|zO=(gSMVM+~DmJ8q2E`1ZLN`0*2`=w24Xi)|%xslR z8qG9kRFdo*dB-Elh?qnskHgW*Pd#IT9aB8h+_ILP{x07z~^mllzBmJWs_S_!@MfQkCz7~3gu2; zOJ6xD39Or$Xd*QVpxgaPB zq$p_)d>u#;_r!w`NOAEZzy|;lAPI?*mwUT&cZ=KGJ?`v*2U@ZrS`X4vB>E9qR7oyI zcF|0QsW5)Tim6y7YDJdm!l~pNKl;8jBnVs3YgK)PLaBx)y z_-?kR`|JMt`@a6V`*GVw1aNtg>SvvzwYT zC#LgQdg9BMllYCxNqqHk62CP`?AV3?#5&uKXIze$NB`CB9(HrGdb6TSN9t<_>Be@D zwzh*b(hkzDc93?rgY+dj>{z*$&hxLfg{3!k%P;HeZDD=0Ev#4D!g{SOtpC;)*59^; z^}V*RzTXzs58A@gMw#X7#{X>#>v8(><(I|YpEj_5u`R5Rw}thqZDD<~Ev(P9h4s0% zu%2xT>$$eDo^K25x7)({-L|m)pe?LFYzu3yEv&D!h4t08uwG8E%();!U4D?w<$8d)dwO5IPv;dGXEkhm87INFNTN@8CD8&K8;Fy86HYRib zo96t%R*-5Ypphf{AT{{)81UjVVGQMI@rk)$Y-19$LJHN+q+ZhMB|kHIW&t*Jwfcg^ z2v$_v%su+(1kMB^JPPR4RGB$rCi5|oz;N8Af6OJLuMA|@WWH_0IlqTyza8YPkuvj& zPqCfciqKpOpW2zfzytUfa%@H0x;A%Y6t9iCKk7cYVGUDMO`i1KjNAa1P}zIjL`OFc#Nr*KRB@c8-Kj`vwk`>0(H4Q-4wzdw=dF0 ztH|+BS^fF%ZT8jUmZ2t-b@=JIZJwUXo#_@cKGs*5zYfXBW5=YiCYOVk{bMaV*7p<$ z_?^47o{T#)e~w1QPp9v>Si$HD#GILB52RkjLmz^Zh~#GL%zhbnOSkPwRU~KcWxv8w zG|!LE0pk}Zg@9|b_e}KF7q|Z0ea=Hnm(D;g?80$oS|H&Y#Sm`O_1+E@z=`>+r=c#H z?AIdsf6@36IWJbnQ&~ zOV%wXB9mJq%C*w$*Qr_*%_I z8u_bTGy1T+;M#GnrN#00FmhF<>k)A#E++LRQKQcYps{x3{!Wewd7WV*_2mgZPg`}& zbdN(?GES)29FzCY=MXiE?{c-w=1$}+TSNue6@u^(C)UA&C>*Qd+!Ln8I@?qSt;KPy z4h4bp4N2w_;eycIe69PcijHbQZz(gaJ}f|FXd)e2w;4T!2^5Uy%@d#2X>s#&#){Rj zf{LVcH4&yM$*KjyM2C=Ww^mBg%$(>@l+8faOo!AkY@2^rovn8R5O9W4bRhodvXm)jQqiO7j?%-4kh zGiuZM__#&!a$p8|+QK#V%$jo(j>%nh7|MWk+^efMPS({7X(wUvKL6koC*Wc(sVBbatoL$b55*&%J=L5~e_qy!fE*CM% zVs=M8xvD|SePSc3%lX0^d4{{uoe97OU(3B0v4d_eGVB`yB%z0(wSK?z=68 zE6ZxX+-F|FSSZunkL=*&Y&YcDNkJS(Mt8wilMt9b_e36vx7MnhJ2Rv@%i46}t-UJ8 zPJry(s;d|WWjNsPjOTSCy5_g_i_ra?fnc zJ++aiuW8(*FNv^JuGP0 zQ*I9uf;Kr_&FQ4M53V}7VHM_+)A!ul05k~^N+o!QX?|__wr$Z{G$Q?VtE(!3AnB5+ z$L%>nvfN1QuaV5Ns=KknCF*WTl>IA&YUs$^VyM4wuM;TR`UoCGE^HTsLZ>12s-Q#X zIe6AgFyxAWlxs!*?fSJT*J;0U7|rbr0T=~yCW!X?!4gYE<-oE5zJ0KZyo^vMm1b?S ze@R{9fhgyvXa2#|L!$^XrLAd%O(RrI?UX@Na%nq56ZO<6GpvqiWQ1;{8d>UP)XW{J zu6o!clwE1!>Nd%IHquK`N&9fs!w2iKcSX5*L*{F--ianSuua4X%U*E-Fe-rp3A49IeGPkylA#NjJLHi{%j$dR+Un8=CIgpWSps9vS<(y`$q= z-FA7`!)XK`HEpu6cE=en@PvK1v=LR3cl?_3oZ;)DYgsZZ9kBDq?Yv>FdDih1N#adP z?4R7Q4kdH{q*K>k+DX6SR7fIox%lhc{Sn)KLAKF5cHUrgYoeF)>;+gfJiY7jQi0Y*#wklLCrInuQrF|C<}xjo<+=rR*JV+3+bfO zqGtALNNV;mr=*69TNIHI>!(?i4xNvqx5YU=KZ5zp;iC84xTGVuje(T=Z3WUos844O z?Jx>jBq`b0SVy|gkO!OC)$8@>59ILr%U(Jn1gVI#0~j&aAuhp)>1`DX=T6CwB>Q*s1e_EKu}HM&oY639*i z(ai6gE@+_E+U3$?XP@S5D(hpR29uckF}Uit;iBPkp3fQ2gK6m*c=o$w`-x^u_HP*! z+jkY?Z#vQ~X8%i1=EbOBVtd62>Vw!C*e$(av{&WGnXGMFqut#Y)INWk$^2PN_=5NG z!Zkw&t1uqMsAxoEgDED+E`?3EC4)zzZw!0B?H5%~{zKQ3vp5~YzKOktHToC19+~O@n>oJ1Gn#bes>8$gOGc`7ky` z>+hyU-L{rvW!M*jCYXNPO;Z~}@-CSDvl}PTDx@_P+&FPoH!ZZ_=DXXq?$+mSZ+Eu= zcN=lHo$j_9GO@~zPF2D0kzd3z^N7O@WmU*nT(^r`P(8nMGL!jJv-TP{!ICp`b_^k` zKzA2YoIQ9GYRmL6X8q@tIfj?pQ(gLg{-h;wKB6 z!02(DlU0m#fR0oBhig}kg~W2W^LqD;k&+n6Grsq1>r*g9j-5QaI$FBY*XcW^^6XkW zMo<`i+ZnkT?%Q={nf)5jP|bdgZ0{70Nr!(*Y~~l|RW>+G_UNY>Me<57KvHNqeB^RP|_}s#-m?dyF77P@=Imq3hassjPo!>jo9q;HIw

SfB?QJqpER>^upoJx*Zo#lk{?%PSxY@B9nz|x0@7YoZnITMjfNH*!AxTf-Ay( zTHL-hY=n>p1NPr!(!}KX(`HXn`K%(E1&+@Xz1oXDvrM$h%FVRgS8iQiqKNYZzK`d% z$BU*fJc1VIj9t6{qTRS9-XX7gP=v=s!hJ2>xsjW68Od&r5q*_e%PX^pJ(KycRe_C1 zUi`B&`Ps$Kk6Ho{x*b9@+|!c5ssw9w@^ei(gS9OP>xhc`6S}ikdR}aPl{fn>0;#zF zPSDZmd$&XLpS|>fGg5&wYch|oUw^gd{RS`sybtiY0WO8-=7qmYcxMzZyq>qXbpQBP z&+AJ)zw&MF`EA_e=gRLBG_s?q{Hw%2kqZ9_;ZLQ)Z}vU!xm5TF;m=25mH!xF<@@X0 zUrs&W-RquzawVXj*7*N5FZ@e4w#M(fsWtrldEw{o^Sp^vy~hVV?+2;!UnQL8 z^9>^&!<&Teza%U=@85y^qUQ?t>}<{F!CPA6|1BL=I{icMXboSvyEXjh^TLna3SB8W zZoSRX;l0!IUP#gL9|))GGkJS!{EfNR@PC~betu7Dd}VKI_=bI+=dX7BP`yLK15sFV zeUY%9|Ev9;cQBRivIDJrtrDI{;l1e&hd0OlObV}fur;55B%F@_%%RrsEqAttzc(-Z z)LpIdgLlKP6div@SoDAP9?x5|CaLE=hg<3RAB5BK&m3tD-+8n(yyo84@Qd@pW%M%U zqso6}o}Nw~qx`iAJs%+aM2f!J1H?t~lEdeSS3ck4{&JK~&wuy0=jr}+?uuV~e-f|o zZ>Pd0Px96C@22us_?-_XjQcZDyz;w&@C#8`^d2Ov=l64eDtfN)drm@MDqJD_QY!o}2&eOXKjFV$>*YRn zMdp95UxUHupuU}e?lJJw+eBO!cWxH1Gy<+U{plk@_C;+}cyU@ii+{&)(!BwN)Z##1K}KNB76fVi9tzt<;e=lJQJAidHkPUTzzTneP=yNqxa*Z{<|^3x2d z@)M4pr^~vWu;N6&=uzJKy%EqQBd>Clx8mY7s>>C?8-SRuH}YF)bj?P1qDT1)PvxHr zZzmN}d8&i%!c*C2!;56-^+kB9kIEFD@;Dowc&%#_c&e-FB3$7qycph_cuuwKS_7Wy zt~v`>cyV|Wzpn&hzFfs`lH2t|GEhEBqr33p^l#=jZJ>$A*u><;&3hF*<*B>`!i&>0 zcJUZ@H1T|XONP4Uz>Cwxyqb%6rThiTOL;6-XVp*fx?YIz;_~#|2hN74=enK&PxSdf zFCe_lz+!lc7vFR}1)jo6dkrAGYk}*4_*u+jJy+Y%bp|}8*R$&Z;oSiA0m9X@7*Efo zpSm6fFOJ_rSa>%AHvz)cvlvg$rO&z!f*0o>>($FVQ@+AcJ%y(@-P3JOG)pdT2UL!( z2?|#J3g4^;Tv-IFXG*tK54c{V48<$l4-5c$-0HslT(lv__P@HhK0m9o3 zoDEOyPuE0*r}R4j-FE_K!^;w<>jZc)U5vL3Zx{E)@I;f^t*(RM#q_^}u*%yFFvhaq z$}^5vUY7&9c7msRsZNZ)EG^?L?{*+gAK#U3BcN*&c&eA`lmk@W9$+t^yc8GXDa{pL z?n9hZ2$pK48g+ZQr+YL1`%;7@28-x@fHK+-ELLF&MutPz56DV*s^kGccy|D2!&Bqb z^%{6$iYj{$5Z)nRF+7nf!=vkE@M6Z?NmzJy0e1tcj_8joEShAfbj^V$28lWM0Kz*A z906iFVm#$9!=>vP@Wf2<Ust|@m74z1HyY4C;)c=s&`yJ)#Yt~uBX709K_#IKzK!<1c-Lg z65~nEKA>wFyjT_iVd0Gd<3LPDjHmp20bM7+i}{b3>^gw~yMten#{{6f%D`fEmTWcy zx(-HoN_P?v-Xw4~ylaTlwG+IUwhCe4O#zGHi7)CHboGHJ9gzI1fbeR-G!XM5&R2E3 z4$!p;Jn4Ys{|F$wIuJ&`Rqq&2G+Ynp`XRiM4oLnDKzK92DIiWC-$mCAfUeiTlMXx# z@YAkYXpk;Q#_NG~Ko@Wca5+lq^Nx6M(K)c`n&XW|Eh#AMi|alRQMz zlYp)@YZKW_5RS`NdA|sJ6!;kM&j4MUNH5-s7co6C4Ik&(CxEAbUjlTAkCImpAUWyk zBM)CRFtP=`Kv%I~MxNmu`q~u8?xkx6cvP0Un9hIlSK-$#h)q<^JPHlGC=#Z#_xwtwqo5O+Y`e4R{A|E3g;112_a60geIh0@P~M5~Q({fC!Y-#a(gj zN#LV^q%4Vi7WfU|w}5{Q{0{JYz!!l(0{$5I6W|pkbvYB*M_PwkJB4JOGJMh*`& z^SF1WP;HbSD>TZB=CY%iFx(duYo(yxEMaK-g1AG~Mo=Fs6odWVU8UpoAXt!MmtU++ zP1l1kq&&Y8oC+%bb!ER=Yxv>J^mMJ>2ufSmd3~n}m91gTrcIP z3-!k7C`QR#niNs}g_ylz|70oOpceV$QNHB3u(eq9YSTfz(5TgK_3jB86SdO3TKMa{ z2ZFlQv$c9e^p&e)wXFzkJlNvjM*RlPcde#tbe4VFjUovbt>$$| zd}zmFbgcj(Ba5o+@nCjutyV9EN9lc}t}8&<@b<-6)TC?$DB89tMOfz$g)CQt(mgYk zM)_!=PM;f8YUB07)Cy2JvTZTGT^ythEJoUjGwdSh8(h!P93EWE9mP^fT~W)sL?SP+ z8D1h)D{YgPNajiz=p~YOFs3@w0t_>%_S? z64&V7bTct)*y<5V`zD5lk2Y%-dz#GYX)cJLQd!R0NFU2`ld1Lgt*q>(a2Mql$TUA5 zdyMjtD5E5`dcJ_uD6uaQ(}I#SFe|Bs%dbl0RkPb|@A6z-O-I~ML(g7^yJmS*Hyv~kQxg#YPAX)Ih)^_?z=RK=?fdB zUAqdSA>*P({!~!3kdo3;5WZKA0G z%lFUze-<-MvKI*X6pIsk6Y1(Q+!rgw(TLL5>B(4O>f3Q@tTf5X^KYy)we9(@F9_93 z^wwO=SI2FSNv}T(n)%Qt7`4`==$6 z{?o7{@z{9V0$K&F!^2O0rES1{!rY7;Ead;?M80O|Q%{Om0 zrAckF8Qz&BO)tz^h;V@c`e9-BflKlUZ?_(!-)kCZL5)Q zTamVU;beI_*covSMbmtjGzq>7`a= z>shU?Eh;}z1aa}Mpk@Y+N5#NpFpwf3N)pAq&eEaInXo4J4^>%k6NLLCejgbPgF1CO zbZj`ke?Q3wZ%NS-$7*RybKlM2Hn*FrS%qfI(7CCdzny1E>`8eV_66hYqgyVI=9jum zwxnx+-sJc?X*$3!Y^I&CXHs z$XQE{T`H%7g*2SAJ~moT(b%jH3yd&1i)1;t?QS-u6zYp;w~?3_x0sw*g$H+7yV$Fp zkoe*`Hh;-e$g=S_i5*?KM@qz0K3)OcVBMr5$`a2Rtr(g7|FMK30BD#e8?&m zO6-W+>fIm8N|tH9Q`79+VwaKc($syn?Xm(jAX26?T6A?9lf~Y z)Z;Rau;g)4cDcE(%(9J&S%kW{DBqEo~x{I9d>KXGM33{W2mvr?FijBe{XP# zsf)1wI@VxTwRNqzYWIA&80$fQRQdeq%-9%`o6r&zx70W)UhBDr&(o4<%BPMjdq8Qz zer@B^cD?4Z2X+ugK1zGVv)}72m$Y-Xahf%e)6?>2o`)5ki8%XBzDeKf7G;}c?(ZSsvc(`(ic?4j6H!cKf{pm0E!%d+1@Po#v4S zE_Hu-qdvpVYptTv(yMwf#hx~C+{g(1UMhUP*JP$@oZgXLI$bSHm5X^QriJ|R#_V`2 zdZf_^%hg!xuIreB{eNARlG2oT`JdEh~J{yF?Dwbg|Km~JYFr2u~NNiZEtvJ zA+5KG-RvY}Pd_XAcOSovC2KAe^ywIYe8aD9@o%W!;0LqCASi`c#o6-I%v5q}fUk7T zHQ`Qi&xZ)pVoUu-AkC)b^+m<|yM5N*VegBq)(;!Ik?HVIzHyu4-4PC9K0f9kS>>(+ z6lir@&*M%6jm!IOa6aLwIInMhp^K1ynHf+%0BX-^lH_oikDId9i^M@Uo z-VNSm>xk}Jx7zF2xHiM#A8S|fC*!RWiV$gX0b1k&RGX5w&){3DkZ; zX`tvO?*C`w;^cZa-{kxLz=?rbt^TZ3ws zzh~8D8?Si7Rcqe3y6@UIZCbnT(l@{Dx@&&n@%LYU<4wD7z3rWQ@3`}x6YqNWL+^R- z&*UF26idO_c=_aHr5-j;KlZcl^A54Am*X`2(bJ8<5A93`v}9jRcG3^(b++By7ldp9 zwuxRn;5A)H=cVn_(ZHzDIPDz`>QiNR)CXN#IVgEY?92=XGKNQBs@&kn4{&J7#R*>n zDW7qTvne&Ypg3mQ&E32MN)gPKLpBWAdUHl;HNR4*j|VoC(qP7K*t$~koJP4hW@N14 zQ)DSP#U#o*!Z52g#^7v9`BRPBOr2DtGvR4l)>^O6Ohc0&o(>zql+O;EN|K5vEMP3u z%azmqOto-|fudFVP?hFNR~ZJuq_?+T3&WdTaek#-odmy7y17;b$!h4b_V$_OgbL#Z zIm0uySXVKpVv%^-Km`7D5Y$twYj7A!$*;{cS`&}WgmCg;Ewl-EiLqldFjHlkT%0gU zbEOg)hm1FU5WGG0+GJ4mr^~FwJ=A|B5^l`(s18V^;LyB180pD~l~DM|40TB47qQrl zjT0dr3K=RVK{mEG93zbB`)7lqWH(i4M8(J4M5;3!{L=7p(GR#u^-SWm>bQ68^wemr zQZ5>k{YtGiZTdkE8YGF1qaRa+>S>s20VYBwSEtIgnb1eZff`Fo%c7$#225YP12a{pNIHL}%w&MBr$3WNvMfF#wZVS z(3&=Gn~O!7A&A)I#R*$!I~+6~t<@*xf3xNvhtth}G5b<=cxiJ|7`3yQBxpBzifn1Z zh^WStRdgl`F-FfsRq~J>SXRrRN;4T_xavC&`{Be)!{|(Ug+c}ODxH>)r|X<5fzVQh zFa4C3K}TRsccM@&(eK=czS39{BX;jhjlRH*7-Ow3l^HaSY448rpotw*sz-5;VSO9L zJ9C5;<_JIaQc^3FZv;zbiuXux1O$vvIQqcs<1#wQvW zgE1ZG&~P^dx}rZHNx z+(Gv9Q%pA|B&U20OXH8x2hP;x!0<&$fsJF0{CK4{%0Aot7~@{Hw_%e^DZoNR5xPGa z&>zybEI>;z9t-L3)return false;if(version[0]==1&&version[1]==0)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+24688;__ATINIT__.push();allocate([164,27,0,0,150,28,0,0,204,27,0,0,111,28,0,0,8,0,0,0,0,0,0,0,204,27,0,0,179,28,0,0,8,0,0,0,0,0,0,0,164,27,0,0,120,29,0,0,204,27,0,0,170,31,0,0,48,0,0,0,0,0,0,0,164,27,0,0,204,31,0,0,204,27,0,0,241,31,0,0,48,0,0,0,0,0,0,0,204,27,0,0,61,45,0,0,72,0,0,0,0,0,0,0,204,27,0,0,33,32,0,0,128,0,0,0,0,0,0,0,204,27,0,0,122,32,0,0,144,0,0,0,0,0,0,0,204,27,0,0,206,32,0,0,160,0,0,0,0,0,0,0,204,27,0,0,2,33,0,0,176,0,0,0,0,0,0,0,164,27,0,0,45,33,0,0,204,27,0,0,81,33,0,0,200,0,0,0,0,0,0,0,164,27,0,0,239,33,0,0,204,27,0,0,33,35,0,0,224,0,0,0,0,0,0,0,204,27,0,0,185,35,0,0,128,0,0,0,0,0,0,0,204,27,0,0,66,36,0,0,224,0,0,0,0,0,0,0,204,27,0,0,220,36,0,0,224,0,0,0,0,0,0,0,204,27,0,0,110,37,0,0,224,0,0,0,0,0,0,0,204,27,0,0,20,38,0,0,224,0,0,0,0,0,0,0,204,27,0,0,175,38,0,0,224,0,0,0,0,0,0,0,204,27,0,0,69,39,0,0,80,1,0,0,0,0,0,0,164,27,0,0,240,39,0,0,204,27,0,0,155,40,0,0,104,1,0,0,0,0,0,0,204,27,0,0,64,41,0,0,128,0,0,0,0,0,0,0,204,27,0,0,214,41,0,0,104,1,0,0,0,0,0,0,204,27,0,0,125,42,0,0,104,1,0,0,0,0,0,0,204,27,0,0,28,43,0,0,104,1,0,0,0,0,0,0,204,27,0,0,207,43,0,0,104,1,0,0,0,0,0,0,204,27,0,0,119,44,0,0,104,1,0,0,0,0,0,0,204,27,0,0,156,69,0,0,96,0,0,0,0,0,0,0,204,27,0,0,91,50,0,0,232,1,0,0,0,0,0,0,204,27,0,0,204,50,0,0,144,0,0,0,0,0,0,0,204,27,0,0,251,52,0,0,8,2,0,0,0,0,0,0,164,27,0,0,177,53,0,0,204,27,0,0,27,56,0,0,32,2,0,0,0,0,0,0,204,27,0,0,203,56,0,0,232,1,0,0,0,0,0,0,204,27,0,0,13,58,0,0,32,2,0,0,0,0,0,0,204,27,0,0,87,59,0,0,32,2,0,0,0,0,0,0,204,27,0,0,1,60,0,0,32,2,0,0,0,0,0,0,204,27,0,0,191,60,0,0,32,2,0,0,0,0,0,0,204,27,0,0,114,61,0,0,32,2,0,0,0,0,0,0,204,27,0,0,32,62,0,0,144,2,0,0,0,0,0,0,164,27,0,0,227,62,0,0,204,27,0,0,166,63,0,0,168,2,0,0,0,0,0,0,204,27,0,0,99,64,0,0,232,1,0,0,0,0,0,0,204,27,0,0,17,65,0,0,168,2,0,0,0,0,0,0,204,27,0,0,208,65,0,0,168,2,0,0,0,0,0,0,204,27,0,0,135,66,0,0,168,2,0,0,0,0,0,0,204,27,0,0,82,67,0,0,168,2,0,0,0,0,0,0,204,27,0,0,18,68,0,0,168,2,0,0,0,0,0,0,204,27,0,0,205,68,0,0,24,3,0,0,0,0,0,0,204,27,0,0,25,69,0,0,40,3,0,0,0,0,0,0,164,27,0,0,97,69,0,0,204,27,0,0,199,69,0,0,96,0,0,0,0,0,0,0,204,27,0,0,143,70,0,0,192,3,0,0,0,0,0,0,204,27,0,0,145,73,0,0,168,3,0,0,0,0,0,0,164,27,0,0,176,70,0,0,204,27,0,0,248,70,0,0,120,3,0,0,0,0,0,0,164,27,0,0,194,71,0,0,164,27,0,0,220,71,0,0,204,27,0,0,23,72,0,0,120,3,0,0,0,0,0,0,204,27,0,0,212,72,0,0,120,3,0,0,0,0,0,0,164,27,0,0,221,73,0,0,204,27,0,0,11,74,0,0,168,3,0,0,0,0,0,0,204,27,0,0,94,74,0,0,240,3,0,0,0,0,0,0,204,27,0,0,164,74,0,0,192,3,0,0,0,0,0,0,204,27,0,0,138,74,0,0,120,3,0,0,0,0,0,0,164,27,0,0,196,74,0,0,204,27,0,0,154,75,0,0,240,3,0,0,0,0,0,0,204,27,0,0,188,75,0,0,240,3,0,0,0,0,0,0,204,27,0,0,252,77,0,0,40,4,0,0,0,0,0,0,164,27,0,0,165,79,0,0,164,27,0,0,132,92,0,0,204,27,0,0,228,92,0,0,72,4,0,0,0,0,0,0,204,27,0,0,145,92,0,0,88,4,0,0,0,0,0,0,164,27,0,0,178,92,0,0,204,27,0,0,191,92,0,0,56,4,0,0,0,0,0,0,204,27,0,0,213,93,0,0,48,4,0,0,0,0,0,0,204,27,0,0,6,94,0,0,72,4,0,0,0,0,0,0,204,27,0,0,226,93,0,0,128,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,40,3,0,0,43,0,0,0,44,0,0,0,51,0,0,0,0,0,0,0,8,3,0,0,43,0,0,0,45,0,0,0,52,0,0,0,0,0,0,0,216,1,0,0,46,0,0,0,47,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,50,0,0,0,51,0,0,0,57,0,0,0,58,0,0,0,52,0,0,0,14,0,0,0,0,0,0,0,112,2,0,0,46,0,0,0,48,0,0,0,59,0,0,0,54,0,0,0,60,0,0,0,56,0,0,0,50,0,0,0,51,0,0,0,57,0,0,0,58,0,0,0,52,0,0,0,15,0,0,0,0,0,0,0,96,2,0,0,46,0,0,0,49,0,0,0,61,0,0,0,54,0,0,0,62,0,0,0,56,0,0,0,50,0,0,0,51,0,0,0,57,0,0,0,58,0,0,0,52,0,0,0,16,0,0,0,0,0,0,0,80,2,0,0,50,0,0,0,51,0,0,0,63,0,0,0,54,0,0,0,64,0,0,0,56,0,0,0,50,0,0,0,51,0,0,0,57,0,0,0,58,0,0,0,53,0,0,0,17,0,0,0,0,0,0,0,64,2,0,0,52,0,0,0,53,0,0,0,65,0,0,0,54,0,0,0,66,0,0,0,67,0,0,0,54,0,0,0,55,0,0,0,57,0,0,0,58,0,0,0,56,0,0,0,18,0,0,0,0,0,0,0,48,2,0,0,54,0,0,0,55,0,0,0,68,0,0,0,54,0,0,0,69,0,0,0,70,0,0,0,57,0,0,0,58,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,19,0,0,0,0,0,0,0,16,2,0,0,56,0,0,0,57,0,0,0,71,0,0,0,54,0,0,0,72,0,0,0,73,0,0,0,60,0,0,0,61,0,0,0,57,0,0,0,58,0,0,0,62,0,0,0,20,0,0,0,0,0,0,0,248,1,0,0,58,0,0,0,59,0,0,0,63,0,0,0,74,0,0,0,6,0,0,0,0,0,0,0,248,2,0,0,46,0,0,0,60,0,0,0,75,0,0,0,54,0,0,0,76,0,0,0,56,0,0,0,50,0,0,0,51,0,0,0,57,0,0,0,58,0,0,0,52,0,0,0,21,0,0,0,0,0,0,0,232,2,0,0,46,0,0,0,61,0,0,0,77,0,0,0,54,0,0,0,78,0,0,0,56,0,0,0,50,0,0,0,51,0,0,0,57,0,0,0,58,0,0,0,52,0,0,0,22,0,0,0,0,0,0,0,216,2,0,0,62,0,0,0,63,0,0,0,79,0,0,0,54,0,0,0,80,0,0,0,56,0,0,0,50,0,0,0,51,0,0,0,57,0,0,0,58,0,0,0,64,0,0,0,23,0,0,0,0,0,0,0,200,2,0,0,64,0,0,0,65,0,0,0,81,0,0,0,54,0,0,0,82,0,0,0,83,0,0,0,65,0,0,0,66,0,0,0,57,0,0,0,58,0,0,0,67,0,0,0,24,0,0,0,0,0,0,0,184,2,0,0,66,0,0,0,67,0,0,0,84,0,0,0,54,0,0,0,85,0,0,0,86,0,0,0,68,0,0,0,69,0,0,0,57,0,0,0,58,0,0,0,70,0,0,0,25,0,0,0,0,0,0,0,152,2,0,0,68,0,0,0,69,0,0,0,87,0,0,0,54,0,0,0,88,0,0,0,89,0,0,0,71,0,0,0,72,0,0,0,57,0,0,0,58,0,0,0,73,0,0,0,26,0,0,0,0,0,0,0,128,2,0,0,70,0,0,0,71,0,0,0,74,0,0,0,90,0,0,0,7,0,0,0,0,0,0,0,48,3,0,0,72,0,0,0,73,0,0,0,13,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,75,0,0,0,91,0,0,0,92,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,64,3,0,0,74,0,0,0,75,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,76,0,0,0,77,0,0,0,100,0,0,0,101,0,0,0,78,0,0,0,79,0,0,0,102,0,0,0,0,0,0,0,80,3,0,0,76,0,0,0,77,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,103,0,0,0,104,0,0,0,85,0,0,0,105,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,104,3,0,0,78,0,0,0,79,0,0,0,86,0,0,0,106,0,0,0,0,0,0,0,96,3,0,0,80,0,0,0,81,0,0,0,82,0,0,0,0,0,0,192,0,0,0,0,136,3,0,0,83,0,0,0,84,0,0,0,87,0,0,0,107,0,0,0,0,0,0,0,128,3,0,0,85,0,0,0,86,0,0,0,87,0,0,0,0,0,0,0,152,3,0,0,88,0,0,0,89,0,0,0,88,0,0,0,108,0,0,0,0,0,0,0,176,3,0,0,90,0,0,0,91,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,109,0,0,0,110,0,0,0,94,0,0,0,111,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,192,3,0,0,92,0,0,0,93,0,0,0,93,0,0,0,1,0,0,0,112,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,1,0,0,0,95,0,0,0,100,0,0,0,113,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,0,0,0,0,208,3,0,0,92,0,0,0,94,0,0,0,93,0,0,0,114,0,0,0,112,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,98,0,0,0,95,0,0,0,100,0,0,0,113,0,0,0,96,0,0,0,97,0,0,0,115,0,0,0,0,0,0,0,224,3,0,0,95,0,0,0,96,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,240,3,0,0,92,0,0,0,97,0,0,0,117,0,0,0,1,0,0,0,112,0,0,0,96,0,0,0,118,0,0,0,98,0,0,0,99,0,0,0,1,0,0,0,95,0,0,0,100,0,0,0,0,0,0,0,248,3,0,0,92,0,0,0,98,0,0,0,117,0,0,0,119,0,0,0,112,0,0,0,96,0,0,0,120,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,95,0,0,0,100,0,0,0,0,0,0,0,8,4,0,0,92,0,0,0,99,0,0,0,117,0,0,0,121,0,0,0,112,0,0,0,96,0,0,0,122,0,0,0,98,0,0,0,99,0,0,0,101,0,0,0,95,0,0,0,100,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,24,4,0,0,100,0,0,0,101,0,0,0,8,0,0,0,3,0,0,0,123,0,0,0,102,0,0,0,9,0,0,0,0,0,0,192,0,0,0,0,40,4,0,0,103,0,0,0,104,0,0,0,10,0,0,0,4,0,0,0,123,0,0,0,102,0,0,0,11,0,0,0,0,0,0,192,3,0,0,0,40,24,0,0,5,0,0,0,0,0,0,0,0,0,0,0,124,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,108,96,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,64,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,123,92,0,0,0,0,0,0,56,4,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,18,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,96,4,0,0,105,0,0,0,109,0,0,0,107,0,0,0,108,0,0,0,18,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,112,4,0,0,110,0,0,0,111,0,0,0,125,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,50,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,50,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,50,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,50,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,50,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,50,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([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,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,50,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,50,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,50,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,50,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,50,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,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,50,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,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,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,50,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,50,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,50,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,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,0,78,53,100,114,97,99,111,53,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,69,69,0,78,53,100,114,97,99,111,52,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,66,97,115,101,73,105,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,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,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,37,100,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,50,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,50,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,50,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,50,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,50,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,50,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,50,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([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,50,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,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,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,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;Module["_bitshift64Ashr"]=_bitshift64Ashr;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} +// EMSCRIPTEN_START_FUNCS +function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=Ka,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8)&65535);i=$(e/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>16&65535;e=$(l&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&65535)}else{e=$(e/$(65535.0));n[d>>2]=e;e=$($(c&65535)/$(65535.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,6,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=l+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[l>>0]|h[l+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&65535);e=$(g&65535)}else{i=$(e/$(65535.0));n[d>>2]=i;i=$($(c&65535)/$(65535.0));e=$($(g&65535)/$(65535.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}j=g+c|0;k=j;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;l=(b[a+32>>0]|0)==0;c=(Fo(k|0,j|0,16)|0)&65535;g=j&65535;a=(Fo(k|0,j|0,48)|0)&65535;e=$(k&65535);if(l){n[d>>2]=e;i=$(c&65535);n[d+4>>2]=i;i=$(g&65535);n[d+8>>2]=i;i=$(a&65535);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(65535.0));n[d>>2]=i;i=$($(c&65535)/$(65535.0));n[d+4>>2]=i;i=$($(g&65535)/$(65535.0));n[d+8>>2]=i;i=$($(a&65535)/$(65535.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 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,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+128|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+124|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 $j(r,v);s=a+120|0;f[s>>2]=(f[s>>2]|0)+1}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+132>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+136>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+144>>2]|0;c=f[3676+(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 $j(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function Tc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=mo(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=mo(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;e=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=i+4|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;g=i+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+12|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=e;f[j+4>>2]=((e|0)<0)<<31>>31;j=d+8|0;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+16|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+24|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}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;if((b|0)<0)return;m=a+12|0;l=f[m>>2]|0;c=f[a+8>>2]|0;j=l;if(l-c>>2>>>0<=b>>>0)return;d=c+(b<<2)|0;l=f[(f[d>>2]|0)+56>>2]|0;c=d+4|0;if((c|0)!=(j|0)){do{h=f[c>>2]|0;f[c>>2]=0;i=f[d>>2]|0;f[d>>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;kr(g)}kr(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);kr(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;kr(g)}kr(e)}kr(i)}c=c+4|0;d=d+4|0}while((c|0)!=(j|0));c=f[m>>2]|0;if((c|0)!=(d|0)){h=d;k=24}}else{c=j;h=d;k=24}if((k|0)==24)do{k=c+-4|0;f[m>>2]=k;g=f[k>>2]|0;f[k>>2]=0;if(g|0){k=g+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;kr(d)}kr(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);kr(c)}k=g+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;kr(d)}kr(c)}kr(g)}c=f[m>>2]|0}while((c|0)!=(h|0));a:do if((l|0)<5){c=f[a+20+(l*12|0)>>2]|0;i=a+20+(l*12|0)+4|0;d=f[i>>2]|0;e=d;b:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break b;c=c+4|0;if((c|0)==(d|0))break a}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){on(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 Vc(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=go(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=2932;e=b;f[a>>2]=e;return}case 2:{b=go(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=2988;e=b;f[a>>2]=e;return}case 4:{b=go(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2492;h=b+28|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]=3044;h=b+44|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=go(72)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=3100;e=b+44|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=go(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=3156;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;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];e=b;f[a>>2]=e;return}case 6:{b=go(124)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=3212;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];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+44>>2]=3268;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;io(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Wc(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=go(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=2568;e=b;f[a>>2]=e;return}case 2:{b=go(44)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=2624;e=b;f[a>>2]=e;return}case 4:{b=go(96)|0;f[b+4>>2]=d;h=b+12|0;c=e+4|0;f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];f[h+12>>2]=f[c+12>>2];f[b+8>>2]=2492;h=b+28|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]=2680;h=b+44|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=go(72)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=2736;e=b+44|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=go(88)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=2792;f[b+44>>2]=0;f[b+48>>2]=0;f[b+60>>2]=0;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];e=b;f[a>>2]=e;return}case 6:{b=go(124)|0;f[b+4>>2]=d;d=b+12|0;e=e+4|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+8>>2]=2492;e=b+28|0;f[e>>2]=f[g>>2];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]=2848;f[b+48>>2]=0;f[b+52>>2]=0;e=b+56|0;f[e>>2]=f[g>>2];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+44>>2]=2904;f[b+72>>2]=1;e=b+76|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;io(b+92|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);e=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$((k&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<16>>16)}else{e=$(e/$(32767.0));n[d>>2]=e;e=$($(c<<16>>16)/$(32767.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=k+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;l=$(g<<16>>16);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;l=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|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;k=(b[a+32>>0]|0)==0;c=(Fo(j|0,g|0,16)|0)&65535;g=g&65535;e=$((j&65535)<<16>>16);if(k){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;l=$(g<<16>>16);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;l=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)&65535);e=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$(k&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&65535)}else{e=$(e/$(65535.0));n[d>>2]=e;e=$($(c&65535)/$(65535.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=k+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;l=$(g&65535);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;l=$($(g&65535)/$(65535.0));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}g=g+c|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;k=(b[a+32>>0]|0)==0;c=(Fo(j|0,g|0,16)|0)&65535;g=g&65535;e=$(j&65535);if(k){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;l=$(g&65535);n[d+8>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;l=$($(g&65535)/$(65535.0));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 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)>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=dp(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 wi(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){Ml(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;lb(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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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)<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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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)<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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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)<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);kr(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*+si(+(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=Sf(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)>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=dp(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 wi(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){Ml(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)<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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function gd(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=dp(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 wi(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){Ml(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)<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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function hd(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=dp(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 wi(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){Ml(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)<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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function id(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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function jd(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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function kd(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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function ld(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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function md(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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function nd(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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function od(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=dp(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 wi(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){Ml(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);kr(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*+si(+(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=Sf(a,d)|0;u=t;return a|0}function pd(a,b,c,d,e,g){a=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+32>>2]|0;s=f[a+36>>2]|0;y=e>>>0>1073741823?-1:e<<2;v=hr(y)|0;uk(v|0,0,y|0)|0;w=hr(y)|0;uk(w|0,0,y|0)|0;y=a+40|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){_p(h);g=f[h>>2]|0}o=f[g+(q<<2)>>2]|0;if(x)uk(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))}xj(z,b+(g<<2)|0,v,c+(g<<2)|0)}}else{g=X(q,e)|0;A=32}if((A|0)==32){A=0;xj(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;xj(A,b,v,c);ir(w);ir(v);return 1}uk(v|0,0,e<<2|0)|0;A=a+8|0;xj(A,b,v,c);ir(w);ir(v);return 1}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,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=f[a+32>>2]|0;q=f[a+36>>2]|0;x=e>>>0>1073741823?-1:e<<2;t=hr(x)|0;uk(t|0,0,x|0)|0;u=hr(x)|0;uk(u|0,0,x|0)|0;x=a+40|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){_p(h);g=f[h>>2]|0}m=f[g+(o<<2)>>2]|0;if(v)uk(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))}xj(y,b+(g<<2)|0,t,c+(g<<2)|0)}}else{g=X(o,e)|0;D=30}if((D|0)==30){D=0;xj(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;xj(D,b,t,c);ir(u);ir(t);return 1}uk(t|0,0,e<<2|0)|0;D=a+8|0;xj(D,b,t,c);ir(u);ir(t);return 1}function rd(a,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];Zf(e,j,l,l+1|0)|0}do switch(d|0){case 1:case 0:{e=Lf(a,c,k,e)|0;u=m;return e|0}case 2:{e=Kf(a,c,k,e)|0;u=m;return e|0}case 3:{e=Jf(a,c,k,e)|0;u=m;return e|0}case 4:{e=If(a,c,k,e)|0;u=m;return e|0}case 5:{e=Hf(a,c,k,e)|0;u=m;return e|0}case 6:{e=Gf(a,c,k,e)|0;u=m;return e|0}case 7:{e=Ff(a,c,k,e)|0;u=m;return e|0}case 8:{e=Ef(a,c,k,e)|0;u=m;return e|0}case 9:{e=Df(a,c,k,e)|0;u=m;return e|0}case 10:{e=Bf(a,c,k,e)|0;u=m;return e|0}case 11:{e=Af(a,c,k,e)|0;u=m;return e|0}case 12:{e=zf(a,c,k,e)|0;u=m;return e|0}case 13:{e=yf(a,c,k,e)|0;u=m;return e|0}case 14:{e=xf(a,c,k,e)|0;u=m;return e|0}case 15:{e=wf(a,c,k,e)|0;u=m;return e|0}case 16:{e=vf(a,c,k,e)|0;u=m;return e|0}case 17:{e=uf(a,c,k,e)|0;u=m;return e|0}case 18:{e=tf(a,c,k,e)|0;u=m;return e|0}default:{e=0;u=m;return e|0}}while(0);return 0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;a=(h[a>>0]|h[a+1>>0]<<8)<<16>>16;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<16>>16;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=mo(Ao(j|0,i|0,48)|0,I|0,48)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;g=mo(0,j|0,48)|0;a=d+8|0;f[a>>2]=g;f[a+4>>2]=I;a=mo(Ao(j|0,i|0,16)|0,I|0,48)|0;g=d+16|0;f[g>>2]=a;f[g+4>>2]=I;i=mo(j|0,i|0,48)|0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}e=c+e|0;a=e+4|0;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;g=e+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=e+12|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=a;f[j+4>>2]=0;j=d+16|0;f[j>>2]=g;f[j+4>>2]=0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=Ka,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if(!((k|0)<0|((k|0)==0?c>>>0<((f[j+4>>2]|0)-g|0)>>>0:0))){k=0;return k|0}e=$(b[g+c>>0]|0);i=$(e/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;k=1;return k|0}case 2:{l=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,2,0)|0;l=I;k=f[a>>2]|0;g=f[k>>2]|0;if((l|0)>0|((l|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<24>>24)}else{e=$(e/$(127.0));n[d>>2]=e;e=$($(c<<24>>24)/$(127.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,3,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<24>>24);e=$(g<<24>>24)}else{i=$(e/$(127.0));n[d>>2]=i;i=$($(c<<24>>24)/$(127.0));e=$($(g<<24>>24)/$(127.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;j=l>>>24&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<24>>24);n[d+4>>2]=i;i=$(g<<24>>24);n[d+8>>2]=i;i=$(j<<24>>24);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(127.0));n[d>>2]=i;i=$($(c<<24>>24)/$(127.0));n[d+4>>2]=i;i=$($(g<<24>>24)/$(127.0));n[d+8>>2]=i;i=$($(j<<24>>24)/$(127.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=Ka,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;l=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);g=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}c=e+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c>>>0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=mo(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=mo(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=i+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}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,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(20410,20438,45,20591);switch(c|0){case 0:{Vi(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];Rg(v,q,t,w,a+16|0)|0;Ng(v);u=x;return 1}case 1:{Vi(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];Rg(v,q,t,w,a+16|0)|0;Ng(v);u=x;return 1}case 2:{Wi(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];Sg(v,q,t,w,a+16|0)|0;Og(v);u=x;return 1}case 3:{Wi(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];Sg(v,q,t,w,a+16|0)|0;Og(v);u=x;return 1}case 4:{Gi(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];pg(v,q,t,w,a+16|0)|0;ng(v);u=x;return 1}case 5:{Gi(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];pg(v,q,t,w,a+16|0)|0;ng(v);u=x;return 1}default:{Gi(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];og(v,q,t,w,a+16|0)|0;ng(v);u=x;return 1}}return 0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=Ka,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;e=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;l=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);g=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:g;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}c=e+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;e=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-e|0)>>>0:0)){k=0;return k|0}k=e+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;l=$(c|0);n[d+4>>2]=l;k=1;return k|0}else{l=$(g*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=Ka,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=I;j=f[a>>2]|0;g=f[j>>2]|0;if(!((k|0)<0|((k|0)==0?c>>>0<((f[j+4>>2]|0)-g|0)>>>0:0))){k=0;return k|0}e=$(h[g+c>>0]|0);i=$(e/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;k=1;return k|0}case 2:{l=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,2,0)|0;l=I;k=f[a>>2]|0;g=f[k>>2]|0;if((l|0)>0|((l|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&255)}else{e=$(e/$(255.0));n[d>>2]=e;e=$($(c&255)/$(255.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,3,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&255);e=$(g&255)}else{i=$(e/$(255.0));n[d>>2]=i;i=$($(c&255)/$(255.0));e=$($(g&255)/$(255.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;j=l>>>24&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c&255);n[d+4>>2]=i;i=$(g&255);n[d+8>>2]=i;i=$(j&255);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(255.0));n[d>>2]=i;i=$($(c&255)/$(255.0));n[d+4>>2]=i;i=$($(g&255)/$(255.0));n[d+8>>2]=i;i=$($(j&255)/$(255.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Ad(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)kr(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}q=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)kr(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 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,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)kr(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}p=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)kr(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 Cd(a,c){a=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)kr(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}q=go(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)kr(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 Dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);e=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$((k&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;j=c;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;c=c+4|0;k=(b[a+32>>0]|0)==0;c=(Fo(j|0,h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24|0,16)|0)&65535;e=$((j&65535)<<16>>16);if(k){n[d>>2]=e;l=$(c<<16>>16);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(32767.0));n[d>>2]=l;l=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Ed(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=Ka,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;g=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-g|0)>>>0:0))){j=0;return j|0}k=$(b[g+c>>0]|0);e=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:e;j=d+4|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<24>>24)}else{e=$(e/$(127.0));n[d>>2]=e;e=$($(c<<24>>24)/$(127.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c<<24>>24);n[d+4>>2]=k;k=$(g<<24>>24);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;k=$($(g<<24>>24)/$(127.0));n[d+8>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;e=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c<<24>>24);n[d+4>>2]=k;k=$(g<<24>>24);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;k=$($(g<<24>>24)/$(127.0));n[d+8>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Fd(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;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];l=$(n[s>>2]);j=j+4|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~l;f[d+4>>2]=~~k;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);j=j+4|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];l=$(n[s>>2]);f[d>>2]=~~k;f[d+4>>2]=~~l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Gd(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;al(h,19168,23);f[a>>2]=-1;pm(a+4|0,h);ep(h);u=j;return}ye(a,b);if(f[a>>2]|0){u=j;return}d=a+4|0;ep(d);c=f[(f[c>>2]|0)+4>>2]|0;do if(c){if(Hk(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;al(i,19192,26);f[a>>2]=-1;pm(d,i);ep(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);ep(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;al(h,19219,29);f[a>>2]=-1;pm(d,h);ep(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;al(h,19249,31);f[a>>2]=-1;pm(d,h);ep(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;al(h,19281,31);f[a>>2]=-1;pm(d,h);ep(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;al(h,19313,34);f[a>>2]=-1;pm(d,h);ep(h);u=j;return}}function Hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,2,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8)&65535);e=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:e;n[d+4>>2]=$(0.0);k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;c=k>>>16&65535;e=$(k&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,6,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+2|0;c=h[c>>0]|h[c+1>>0]<<8;e=$((h[k>>0]|h[k+1>>0]<<8)&65535);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;j=c;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;c=c+4|0;k=(b[a+32>>0]|0)==0;c=(Fo(j|0,h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24|0,16)|0)&65535;e=$(j&65535);if(k){n[d>>2]=e;l=$(c&65535);n[d+4>>2]=l;k=1;return k|0}else{l=$(e/$(65535.0));n[d>>2]=l;l=$($(c&65535)/$(65535.0));n[d+4>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;a=(h[a>>0]|h[a+1>>0]<<8)<<16>>16;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<16>>16;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=mo(Ao(j|0,i|0,48)|0,I|0,48)|0;a=d;f[a>>2]=g;f[a+4>>2]=I;a=mo(0,j|0,48)|0;g=d+8|0;f[g>>2]=a;f[g+4>>2]=I;i=mo(Ao(j|0,i|0,16)|0,I|0,48)|0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;j=(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=Ka,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;g=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-g|0)>>>0:0))){j=0;return j|0}k=$(h[g+c>>0]|0);e=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:e;j=d+4|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c&255)}else{e=$(e/$(255.0));n[d>>2]=e;e=$($(c&255)/$(255.0))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=b[l+1>>0]|0;g=b[l+2>>0]|0;e=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c&255);n[d+4>>2]=k;k=$(g&255);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;k=$($(g&255)/$(255.0));n[d+8>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;g=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=l>>>16&255;e=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=e;k=$(c&255);n[d+4>>2]=k;k=$(g&255);n[d+8>>2]=k;l=1;return l|0}else{k=$(e/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;k=$($(g&255)/$(255.0));n[d+8>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=a+8|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Md(a,b,c,d,e,g){a=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 Ij(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=hr(w)|0;uk(m|0,0,w|0)|0;if((d|0)<=0){ir(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));ir(m);return 1}function Nd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[a>>0]|h[a+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=d;f[a>>2]=j&65535;f[a+4>>2]=0;a=Fo(j|0,i|0,16)|0;g=d+8|0;f[g>>2]=a&65535;f[g+4>>2]=0;g=d+16|0;f[g>>2]=i&65535;f[g+4>>2]=0;i=Fo(j|0,i|0,48)|0;j=d+24|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;a=b[a>>0]|0;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=(i>>>8&255)<<24>>24;g=d+8|0;f[g>>2]=j;f[g+4>>2]=((j|0)<0)<<31>>31;g=(i>>>16&255)<<24>>24;j=d+16|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>24&255)<<24>>24;j=d+24|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Pd(a,c){a=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)kr(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}s=go(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)kr(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?um(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 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)kr(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}p=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)kr(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 Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)kr(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}o=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)kr(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 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)kr(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}p=go(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)kr(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 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,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;ko(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;ik(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];zc(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];Zf(k,i,6176,6180)|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];Zf(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],Zf(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];Zf(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];Zf(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];Zf(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=xd(a,p)|0;break}else{Km(8082,23,1,f[1545]|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);kr(c);u=r;return e|0}function Ud(a,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;al(m,17960,15);l=Ql(c,m,-1)|0;ep(m);switch(l|0){case 0:{g=go(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Go(g);h=3996;break}case -1:{if((yk(c)|0)==10){g=go(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Go(g);h=3996}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(20740,20638,59,20730);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;al(m,17976,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)?(kj(k,m)|0)!=0:0)g=Ql(k,m,-1)|0;else n=19}else n=19;if((n|0)==19)g=Ql(c,m,-1)|0;ep(m);if((g|0)<1)break b;break}case 6:break;default:break b}g=go(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Go(g);h=3940;break a}while(0);if((l|0)!=1){g=go(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Go(g);h=3996;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;al(m,17994,24);f[a>>2]=-1;pm(a+4|0,m);ep(m);u=o;return}while(0);f[g>>2]=h;Sp(g,d);Gd(a,g,c,e);Oa[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function Vd(a,b){a=a|0;b=b|0;var c=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}}Vp(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];xi(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=go(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}ag(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}Gk(q+4|0,f[n>>2]|0);Gk(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|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{_p(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){_p(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:{Se(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{fg(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Pe(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;Se(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{_p(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){_p(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{_p(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){_p(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 Xd(a,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=um(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=um(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=um(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=ci(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=um(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=ci(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 Yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=Ka,i=0,j=0,k=Ka,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=dp(fo(f[e>>2]|0,f[e+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;e=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-e|0)>>>0:0))){j=0;return j|0}k=$(b[e+c>>0]|0);g=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:g;n[d+4>>2]=$(0.0);j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;e=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;g=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;c=b[l+1>>0]|0;g=$(b[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=$((l&255)<<24>>24);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c<<24>>24);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(127.0));n[d>>2]=k;k=$($(c<<24>>24)/$(127.0));n[d+4>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;a=mo(0,j|0,32)|0;g=d;f[g>>2]=a;f[g+4>>2]=I;i=mo(j|0,i|0,32)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function _d(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=xn(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>>>((xn(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=dp(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;bp(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=bp(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 $d(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=Ka,i=0,j=0,k=Ka,l=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=dp(fo(f[e>>2]|0,f[e+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=I;i=f[a>>2]|0;e=f[i>>2]|0;if(!((j|0)<0|((j|0)==0?c>>>0<((f[i+4>>2]|0)-e|0)>>>0:0))){j=0;return j|0}k=$(h[e+c>>0]|0);g=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:g;n[d+4>>2]=$(0.0);j=1;return j|0}case 2:{l=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;e=f[j>>2]|0;if((l|0)>0|((l|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8;c=(l&65535)>>>8&255;g=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,3,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;c=b[l+1>>0]|0;g=$(h[l>>0]|0);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;i=I;l=f[a>>2]|0;e=f[l>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>8&255;g=$(l&255);if(!(b[a+32>>0]|0)){n[d>>2]=g;k=$(c&255);n[d+4>>2]=k;l=1;return l|0}else{k=$(g/$(255.0));n[d>>2]=k;k=$($(c&255)/$(255.0));n[d+4>>2]=k;l=1;return l|0}}default:{l=0;return l|0}}return 0}function ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;n[d+4>>2]=$(0.0);i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;a=i;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;g=j;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;j=j+4|0;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=a+2|0;g=h[g>>0]|h[g+1>>0]<<8;i=a+4|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[a>>0]|h[a+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=g&65535;f[j+4>>2]=0;g=Fo(g|0,i|0,16)|0;j=d+8|0;f[j>>2]=g&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function de(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)kr(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}o=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)kr(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 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,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=hr(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)ir(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 Ij(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){_p(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];vc(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 fe(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(!(um(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(!(um(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 ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;a=b[a>>0]|0;j=d;f[j>>2]=a;f[j+4>>2]=((a|0)<0)<<31>>31;g=g<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(i&255)<<24>>24;g=d;f[g>>2]=j;f[g+4>>2]=((j|0)<0)<<31>>31;g=(i>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&255)<<24>>24;j=d+16|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function he(a,b){a=a|0;b=b|0;var 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)kr(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}n=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)kr(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 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;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)kr(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}o=go(c<<2)|0;d=f[a>>2]|0;f[a>>2]=o;if(d|0)kr(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 je(a,b,c,d,e,g){a=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=hr(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)ir(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 Ij(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){_p(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];tc(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 ke(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&65535)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>16&65535)<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<16>>16;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=g+4|0;g=mo(Ao(i|0,h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24|0,48)|0,I|0,48)|0;j=d;f[j>>2]=g;f[j+4>>2]=I;i=mo(0,i|0,48)|0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function le(a,c){a=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 me(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;j=d;f[j>>2]=h[a>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&255;f[j+4>>2]=0;j=d+24|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i>>>16&255;f[j+4>>2]=0;j=d+24|0;f[j>>2]=i>>>24;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function oe(a,b,c,d,e,g){a=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 Ij(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){_p(i);g=f[i>>2]|0}f[w>>2]=f[g+(h<<2)>>2];f[x>>2]=f[w>>2];Hb(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 pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;f[d+4>>2]=i<<16>>16;f[d+8>>2]=j<<16>>16;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i<<16>>16;f[d+4>>2]=i>>16;g=Ao(j|0,0,16)|0;f[d+8>>2]=g>>16;j=Ao(Fo(i|0,j|0,48)|0,I|0,16)|0;f[d+12>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function qe(a,b,c,d,e,g){a=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 Ij(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){_p(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 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,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=go(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3564;m=q+12|0;f[m>>2]=3588;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]=3588;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]=3588;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;oi(w+8|0,g,i);Oa[f[(f[w>>2]|0)+8>>2]&127](w);Wg(l,w);Wg(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;Jh(g,i)|0;f[i>>2]=3588;e=f[i+20>>2]|0;if(e|0)kr(e);e=f[i+8>>2]|0;if(e|0)kr(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3588;e=f[l+20>>2]|0;if(e|0)kr(e);e=f[l+8>>2]|0;if(e|0)kr(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];Jh(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;Yg(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);kr(e)}f[s>>2]=3588;e=f[v+24>>2]|0;if(e|0)kr(e);e=f[v+12>>2]|0;if(e|0)kr(e);f[w>>2]=3588;e=f[w+20>>2]|0;if(e|0)kr(e);e=f[w+8>>2]|0;if(!e){u=x;return}kr(e);u=x;return}function se(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;g=Fo(i|0,j|0,16)|0;f[d+4>>2]=g&65535;f[d+8>>2]=j&65535;j=Fo(i|0,j|0,48)|0;f[d+12>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function te(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){$p(k);y=Ha(4)|0;Rq(y);sa(y|0,1136,110)}else{t=w<<2;j=go(t)|0;f[k>>2]=j;f[k+8>>2]=j+(w<<2);uk(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);kr(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=hr(s)|0;s=hr(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;hi(s|0,(f[q>>2]|0)+o|0,l|0)|0;hi(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;hi(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=fo(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=dp(c|0,I|0,l|0,m|0)|0;hi(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=fo(o|0,p|0,a|0,((a|0)<0)<<31>>31|0)|0;j=dp(j|0,I|0,l|0,m|0)|0;hi(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))}ir(s);ir(r);x=1;u=y;return x|0}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,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)kr(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}v=go(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)kr(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(20740,20638,67,20730);else if((d|0)==40)return}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>16;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=d;f[g>>2]=j&65535;f[g+4>>2]=0;i=Fo(j|0,i|0,16)|0;j=d+8|0;f[j>>2]=i&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}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;n=u;u=u+48|0;k=n+44|0;j=n+40|0;m=n+36|0;c=n+32|0;l=n;d=a+64|0;f[c>>2]=f[d>>2];i=b+16|0;h=i;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[j>>2]=f[b+4>>2];f[k>>2]=f[j>>2];Zf(b,k,c,c+4|0)|0}io(l);hm(l);c=f[a+60>>2]|0;g=f[d>>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+16>>2];d=i;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[k>>2]=f[j>>2];Zf(b,k,m,m+4|0)|0;c=i;d=f[c+4>>2]|0;c=f[c>>2]|0}f[m>>2]=f[a+24>>2];if((d|0)>0|(d|0)==0&c>>>0>0){Ik(l);u=n;return 1}f[j>>2]=f[b+4>>2];f[k>>2]=f[j>>2];Zf(b,k,m,m+4|0)|0;Ik(l);u=n;return 1}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,n=0,o=0;n=u;u=u+48|0;k=n+44|0;j=n+40|0;m=n+36|0;c=n+32|0;l=n;d=a+80|0;f[c>>2]=f[d>>2];i=b+16|0;h=i;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[j>>2]=f[b+4>>2];f[k>>2]=f[j>>2];Zf(b,k,c,c+4|0)|0}io(l);hm(l);c=f[a+76>>2]|0;g=f[d>>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];d=i;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[k>>2]=f[j>>2];Zf(b,k,m,m+4|0)|0;c=i;d=f[c+4>>2]|0;c=f[c>>2]|0}f[m>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){Ik(l);u=n;return 1}f[j>>2]=f[b+4>>2];f[k>>2]=f[j>>2];Zf(b,k,m,m+4|0)|0;Ik(l);u=n;return 1}function ye(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];Zf(e,o,19348,19353)|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]=1;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Zf(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];Zf(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];Zf(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];Zf(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];Zf(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 ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=d+16|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}a=c+e|0;g=b[a+1>>0]|0;i=b[a+2>>0]|0;j=d;f[j>>2]=h[a>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=g&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i&255;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=d+16|0;f[j>>2]=i>>>16&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=((i&65535)>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;g=b[g>>0]|0;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=i<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;g=(i&255)<<24>>24;j=d;f[j>>2]=g;f[j+4>>2]=((g|0)<0)<<31>>31;i=(i>>>8&255)<<24>>24;j=d+8|0;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=~~(f[s>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,$(n[s>>2]));f[d>>2]=j;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];j=~~$(n[s>>2]);f[d>>2]=j;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];j=~~$(n[s>>2]);f[d>>2]=j;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ce(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;f[d+4>>2]=i<<16>>16;f[d+8>>2]=j<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i<<16>>16;f[d+4>>2]=i>>16;j=Ao(j|0,0,16)|0;f[d+8>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function De(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=g+2|0;i=h[i>>0]|h[i+1>>0]<<8;j=g+4|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;i=Fo(i|0,j|0,16)|0;f[d+4>>2]=i&65535;f[d+8>>2]=j&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ee(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,4,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);k=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)>>>0);l=$(k*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Fe(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,4,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);k=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0);l=$(k*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ge(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)kr(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}n=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)kr(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 He(a,c){a=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)kr(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}n=go(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)kr(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 Ie(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=(h[g>>0]|h[g+1>>0]<<8)<<16>>16;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535)<<16>>16;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i;i=i+4|0;i=mo(Ao(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24|0,h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24|0,48)|0,I|0,48)|0;j=d;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}default:{j=0;return j|0}}return 0}function Je(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,2,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8)<<16>>16);k=$(l/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$(((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535)<<16>>16);l=$(k/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ke(a,b,c,d,e,g){a=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(8045,7785,232,8074);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))$j(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))$j(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 Le(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){$p(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;Rq(p);sa(p|0,1136,110)}else{e=go(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)hi(e|0,i|0,c|0)|0;c=(f[p>>2]|0)-j|0;if((c|0)>0){hi(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}kr(i);p=h;return p|0}function Me(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;switch(b[a+24>>0]|0){case 1:{j=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;g=a+40|0;c=dp(fo(f[g>>2]|0,f[g+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,2,0)|0;j=I;g=f[a>>2]|0;e=f[g>>2]|0;if((j|0)>0|((j|0)==0?i>>>0>((f[g+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;l=$((h[j>>0]|h[j+1>>0]<<8)&65535);k=$(l/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?l:k;j=1;return j|0}case 2:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;e=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-e|0)>>>0:0)){j=0;return j|0}j=e+c|0;k=$((h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535);l=$(k/$(65535.0));n[d>>2]=(b[a+32>>0]|0)==0?k:l;j=1;return j|0}default:{j=0;return j|0}}return 0}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,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)kr(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}m=go(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)kr(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 Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&65535;f[d+4>>2]=j>>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i+2|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[d+4>>2]=j&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=i&65535;j=Fo(i|0,j|0,16)|0;f[d+4>>2]=j&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}function Pe(a,b,c,d,e,g){a=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=fg(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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 Qe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=mo(0,h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24|0,32)|0;j=d;f[j>>2]=i;f[j+4>>2]=I;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}function Re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=b[g>>0];f[d+4>>2]=i<<24>>24;f[d+8>>2]=j<<24>>24;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;f[d+8>>2]=j<<8>>24;f[d+12>>2]=j>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Se(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{_p(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{_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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 Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=(i&65535)>>>8&65535;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=d;f[j>>2]=h[g>>0];f[j+4>>2]=0;j=d+8|0;f[j>>2]=i&255;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=i&255;f[j+4>>2]=0;j=d+8|0;f[j>>2]=i>>>8&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ue(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=h[g>>0];f[d+4>>2]=i&255;f[d+8>>2]=j&255;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;f[d+8>>2]=j>>>16&255;f[d+12>>2]=j>>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Ve(a,b,c,d,e,g){a=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=hr(n)|0;uk(q|0,0,n|0)|0;n=f[a+32>>2]|0;s=a+40|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+36>>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){_p(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))}xj(t,b+(k<<2)|0,q,c+(k<<2)|0)}else v=17}else v=17;if((v|0)==17){v=0;xj(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;xj(v,b,q,c);ir(q);return 1}uk(q|0,0,e<<2|0)|0;v=a+8|0;xj(v,b,q,c);ir(q);return 1}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,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;mj((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];Zf(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];Zf(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];Zf(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];Zf(c,p,s,i)|0}mj(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(20622,20638,58,20730);else if((a|0)==7)Fa(20740,20638,59,20730);return 0}function Xe(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(!(Uk(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){$p(p);b=f[i>>2]|0}c=b<<6;g=h+32&-32;Fj(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 Ye(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;switch(b[a+24>>0]|0){case 1:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=dp(fo(f[e>>2]|0,f[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=I;g=f[a>>2]|0;e=f[g>>2]|0;if(!((i|0)<0|((i|0)==0?c>>>0<((f[g+4>>2]|0)-e|0)>>>0:0))){i=0;return i|0}k=$(b[e+c>>0]|0);j=$(k/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?k:j;i=1;return i|0}case 2:{l=f[c>>2]|0;c=a+48|0;g=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,g|0,c|0)|0;g=dp(c|0,I|0,2,0)|0;l=I;i=f[a>>2]|0;e=f[i>>2]|0;if((l|0)>0|((l|0)==0?g>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$(((h[l>>0]|h[l+1>>0]<<8)&255)<<24>>24);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,3,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}j=$(b[e+c>>0]|0);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,4,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$(((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)&255)<<24>>24);k=$(j/$(127.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}default:{l=0;return l|0}}return 0}function Ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,12)|0;n[d+12>>2]=$(0.0);j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,16)|0;j=1;return j|0}default:{j=0;return j|0}}return 0} +function _e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,12)|0;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,16)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function $e(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;switch(b[a+24>>0]|0){case 1:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;e=a+40|0;c=dp(fo(f[e>>2]|0,f[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=I;g=f[a>>2]|0;e=f[g>>2]|0;if(!((i|0)<0|((i|0)==0?c>>>0<((f[g+4>>2]|0)-e|0)>>>0:0))){i=0;return i|0}k=$(h[e+c>>0]|0);j=$(k/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?k:j;i=1;return i|0}case 2:{l=f[c>>2]|0;c=a+48|0;g=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,g|0,c|0)|0;g=dp(c|0,I|0,2,0)|0;l=I;i=f[a>>2]|0;e=f[i>>2]|0;if((l|0)>0|((l|0)==0?g>>>0>((f[i+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$((h[l>>0]|h[l+1>>0]<<8)&255);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 3:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,3,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}j=$(h[e+c>>0]|0);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}case 4:{g=f[c>>2]|0;c=a+48|0;i=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,c|0)|0;i=dp(c|0,I|0,4,0)|0;g=I;l=f[a>>2]|0;e=f[l>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[l+4>>2]|0)-e|0)>>>0:0)){l=0;return l|0}l=e+c|0;j=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)&255);k=$(j/$(255.0));n[d>>2]=(b[a+32>>0]|0)==0?j:k;l=1;return l|0}default:{l=0;return l|0}}return 0}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=i+2|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;f[d+4>>2]=j<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<16>>16;f[d+4>>2]=j>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function bf(a,b){a=a|0;b=b|0;var c=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;if(f[a+140>>2]|0){a=0;u=r;return a|0}q=a+132|0;f[q>>2]=2;p=a+136|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{Ij(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=oj(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{Ij(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+144|0;h=a+148|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){Ug(g,e-d|0);a=1;u=r;return a|0}if(e>>>0>=d>>>0){a=1;u=r;return a|0}e=c+(e*12|0)|0;if((b|0)==(e|0)){a=1;u=r;return a|0}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);kr(d);b=f[h>>2]|0}}while((b|0)!=(e|0));b=1;u=r;return b|0}function cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=b[g>>0];f[d+4>>2]=i<<24>>24;f[d+8>>2]=j<<24>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;f[d+8>>2]=j<<8>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 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,l=0,m=0,n=0,o=0;o=u;u=u+32|0;n=o+4|0;m=o;l=b+4|0;h=f[(f[l>>2]|0)+48>>2]|0;k=b+12|0;e=f[k>>2]|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;al(n,17976,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)?(kj(i,n)|0)!=0:0)c=Ql(i,n,-1)|0;else j=10}else j=10;if((j|0)==10)c=Ql(h,n,-1)|0;ep(n);c=(1<>2]=2472;j=n+4|0;f[j>>2]=-1;f[j+4>>2]=-1;f[j+8>>2]=-1;f[j+12>>2]=-1;if(((c|0)%2|0|0)!=1)Fa(11625,11658,69,11819);b=(_(c|0)|0)^31;c=b+1|0;if(!b)Fa(11843,11854,60,11970);if(c>>>0>=31)Fa(11990,11854,61,11970);f[n+4>>2]=c;j=2<>2]=j+-1;j=j+-2|0;f[n+12>>2]=j;f[n+16>>2]=(j|0)/2|0;f[n>>2]=2492;switch(Jj(f[k>>2]|0,f[l>>2]|0)|0){case 6:{ri(m,6,f[k>>2]|0,f[l>>2]|0,n);f[a>>2]=f[m>>2];u=o;return}case 0:{ri(m,0,f[k>>2]|0,f[l>>2]|0,n);f[a>>2]=f[m>>2];u=o;return}default:Fa(12002,12008,69,12135)}}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;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];Zf(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];Zf(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];Zf(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];Zf(c,i,k,k+1|0)|0;u=l;return 1}function gf(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(7388,7405,113,7518);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;Tj(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;iq(x);sp(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)){ir(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=fo(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=dp(l|0,I|0,o|0,w|0)|0;hi(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);ir(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=fo(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=dp(a|0,I|0,j|0,h|0)|0;hi(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}ir(v);u=y;return}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}g=c+e|0;i=b[g+1>>0]|0;j=b[g+2>>0]|0;f[d>>2]=h[g>>0];f[d+4>>2]=i&255;f[d+8>>2]=j&255;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;f[d+8>>2]=j>>>16&255;j=1;return j|0}default:{j=0;return j|0}}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;m=u;u=u+32|0;h=m+4|0;i=m;j=m+16|0;g=a+48|0;d=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;al(h,18019,20);d=Ol(d+24|0,h)|0;ep(h);e=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;al(h,18040,22);e=Ol(e+24|0,h)|0;ep(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;if(d?(d=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)<12e3,d|((yk(f[g>>2]|0)|0)>4|e^1)):0){c=f[a+44>>2]|0;b[j>>0]=0;g=c+16|0;e=f[g+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[g>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+1|0)|0}c=go(296)|0;dk(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);l=14}}else if(e){c=f[a+44>>2]|0;b[j>>0]=2;g=c+16|0;e=f[g+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[g>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+1|0)|0}c=go(368)|0;yj(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);l=14}}else l=14;if((l|0)==14){c=f[k>>2]|0;if(!c){a=0;u=m;return a|0}}a=Va[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=m;return a|0}function kf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;n[d+8>>2]=$(0.0);j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,12)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,12)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function lf(a,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;nn(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){$p(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;Rq(l);sa(l|0,1136,110)}else{e=go(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;nn(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);le(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);kr(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);kr(d)}Qk(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[k>>2]|0;if(c|0)kr(c);u=l;return}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;i=d;f[i>>2]=(h[g>>0]|h[g+1>>0]<<8)&65535;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&65535;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}function nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=d;f[j>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[j+4>>2]=i;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,12)|0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}on(d|0,c+e|0,12)|0;j=1;return j|0}default:{j=0;return j|0}}return 0}function of(a,b,c,d,e,g){a=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=hr(l)|0;uk(o|0,0,l|0)|0;l=f[a+32>>2]|0;r=a+40|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+36>>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){_p(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))}xj(s,b+(j<<2)|0,o,c+(j<<2)|0)}else xj(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;xj(a,b,o,c);ir(o);return 1}uk(o|0,0,e<<2|0)|0;a=a+8|0;xj(a,b,o,c);ir(o);return 1}function pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}g=b[c+e>>0]|0;i=d;f[i>>2]=g;f[i+4>>2]=((g|0)<0)<<31>>31;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8)&255)<<24>>24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=b[c+e>>0]|0;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;i=((h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&255)<<24>>24;j=d;f[j>>2]=i;f[j+4>>2]=((i|0)<0)<<31>>31;j=1;return j|0}default:{j=0;return j|0}}return 0}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,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 rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;j=1;return j|0}default:{j=0;return j|0}}return 0}function sf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=(j&65535)<<24>>24;f[d+4>>2]=((j&65535)>>>8&65535)<<24>>24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=b[i+1>>0]|0;f[d>>2]=b[i>>0];f[d+4>>2]=j<<24>>24;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j<<24>>24;f[d+4>>2]=j<<16>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function tf(a,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}dh(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);kr(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);kr(d);u=r;return 1}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,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}dh(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);kr(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);kr(d);u=r;return 1}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,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}dh(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);kr(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);kr(d);u=r;return 1}function wf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}dh(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);kr(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);kr(d);u=r;return 1}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,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}dh(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);kr(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);kr(d);u=r;return 1}function yf(a,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}eh(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);kr(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);kr(d);u=r;return 1}function zf(a,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}fh(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);kr(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);kr(d);u=r;return 1}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,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}gh(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);kr(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);kr(d);u=r;return 1}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,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;Pk(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=dp(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=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}hh(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);kr(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);kr(d);u=r;return 1}function Cf(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 Df(a,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;Pk(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=dp(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;gd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}jh(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);kr(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);kr(d);u=r;return 1}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,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;Pk(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=dp(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;hd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function Ff(a,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;Pk(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=dp(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;id(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function Gf(a,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;Pk(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=dp(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;jd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function Hf(a,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;Pk(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=dp(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;kd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function If(a,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;Pk(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=dp(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;ld(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function Jf(a,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;Pk(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=dp(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;md(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function Kf(a,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;Pk(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=dp(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;nd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function Lf(a,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;Pk(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=dp(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;od(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=Ao(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=dp(n|0,I|0,39,0)|0;n=Fo(n|0,I|0,3)|0;n=dp(n|0,I|0,8,0)|0;l=dp(n|0,I|0,l|0,0)|0;Em(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)}Nh(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);kr(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);kr(d);u=r;return 1}function Mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)<<16>>16;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<16>>16;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)<<16>>16;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<16>>16;j=1;return j|0}default:{j=0;return j|0}}return 0}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];f[d+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8;f[d>>2]=j&255;f[d+4>>2]=(j&65535)>>>8&65535;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=b[i+1>>0]|0;f[d>>2]=h[i>>0];f[d+4>>2]=j&255;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[d>>2]=j&255;f[d+4>>2]=j>>>8&255;j=1;return j|0}default:{j=0;return j|0}}return 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,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;Vp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Vp(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];Ic(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];Ic(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=Vd(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];Ic(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(20622,20638,58,20730)}function Pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;f[d>>2]=(h[i>>0]|h[i+1>>0]<<8)&65535;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,6,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)&65535;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,8,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&65535;j=1;return j|0}default:{j=0;return j|0}}return 0}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,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){$p(m);n=Ha(4)|0;Rq(n);sa(n|0,1136,110)}else{a=d<<2;g=go(a)|0;f[m>>2]=g;k=g+(d<<2)|0;f[m+8>>2]=k;uk(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(20140,20159,89,20254);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(20140,20159,89,20254);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);kr(d)}m=1;u=n;return m|0}function Rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}i=d;f[i>>2]=h[c+e>>0];f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8)&255;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=d;f[j>>2]=h[c+e>>0];f[j+4>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}i=c+e|0;j=d;f[j>>2]=(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24)&255;f[j+4>>2]=0;j=1;return j|0}default:{j=0;return j|0}}return 0}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,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;mj(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];Zf(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];Zf(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];Zf(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 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;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(20622,20638,58,20730);b=f[c+8>>2]|0;if(((f[c+12>>2]|0)-b>>2|0)<=(i|0))Fa(20740,20638,59,20730);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=go(40)|0;cp(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;al(k,17976,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)?(kj(j,k)|0)!=0:0)c=Ql(j,k,-1)|0;else l=16}else l=16;if((l|0)==16)c=Ql(e,k,-1)|0;ep(k);if((c|0)>0)if((f[h+56>>2]|0)==1){c=go(48)|0;b=c;d=b+48|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));cp(c);f[c>>2]=2408;f[c+40>>2]=1192;f[c+44>>2]=-1;l=c;f[a>>2]=l;u=m;return}else{l=go(64)|0;Cn(l);f[a>>2]=l;u=m;return}}l=go(36)|0;En(l);f[a>>2]=l;u=m;return}function Uf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;r=u;u=u+16|0;p=r+4|0;o=r;Yi(a);q=a+32|0;n=f[a+64>>2]|0;n=(Ra[f[(f[n>>2]|0)+40>>2]&127](n)|0)+52|0;n=f[n>>2]|0;n=(((f[n+100>>2]|0)-(f[n+96>>2]|0)|0)/12|0)*3|0;Sj(q,n,((n|0)<0)<<31>>31,1)|0;n=a+68|0;c=f[n>>2]|0;e=(f[a+72>>2]|0)-c|0;a:do if((e|0)>0){d=a+48|0;m=a+44|0;e=(e>>>2)+-1|0;while(1){c=f[c+(e<<2)>>2]|0;g=f[3476+(c<<2)>>2]|0;k=d;j=f[k+4>>2]|0;if((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0?(l=f[m>>2]|0,171>>>c&1|0):0){k=l+4|0;i=f[k>>2]|0;j=0;do{s=i>>>3;t=i&7;v=(f[l>>2]|0)+s|0;b[v>>0]=(h[v>>0]|0)&(1<>2]|0)+s|0;b[s>>0]=h[s>>0]|0|(c>>>j&1)<>2]|0)+1|0;f[k>>2]=i;j=j+1|0}while((j|0)!=(g|0))}e=e+-1|0;if((e|0)<=-1)break a;c=f[n>>2]|0}}else d=a+48|0;while(0);Yi(q);c=f[a>>2]|0;v=d;t=f[v+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[v>>2]|0)>>>0>0)){v=(f[a+4>>2]|0)-c|0;f[o>>2]=f[a+36>>2];f[p>>2]=f[o>>2];Zf(q,p,c,c+v|0)|0}e=a+80|0;c=f[e>>2]|0;if(!c){u=r;return}d=a+84|0;if((f[d>>2]|0)<=0){u=r;return}Jc(c,q);if((f[d>>2]|0)>1)c=1;else{u=r;return}do{Jc((f[e>>2]|0)+(c<<5)|0,q);c=c+1|0}while((c|0)<(f[d>>2]|0));u=r;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,j=0,k=0,l=0,m=0;m=b+16|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(12626,11854,250,12649);if((g|0)<(h|0))Fa(12661,11854,251,12649);i=0-g|0;if((e|0)<(i|0))Fa(12684,11854,252,12649);if((h|0)<(i|0))Fa(12708,11854,253,12649);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){e=b+4|0;lj(e,c,l);lj(e,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(12732,11854,313,12766);if((e|0)<0)e=(f[b+8>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))Fa(12732,11854,313,12766);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+8>>2]|0)+i|0;f[h>>2]=b;return}function Wf(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=go(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;Uj(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 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,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 Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=b[c+e>>0];i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=((h[j>>0]|h[j+1>>0]<<8)&65535)<<24>>24;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}f[d>>2]=b[c+e>>0];j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)<<24>>24;j=1;return j|0}default:{j=0;return j|0}}return 0}function Zf(a,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)on(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){$p(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=go(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)hi(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;hi(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}kr(d);o=m;return o|0}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=0;n=u;u=u+48|0;k=n+8|0;l=n+4|0;m=n;b[m>>0]=f[a+92>>2];j=c+16|0;i=j;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[l>>2]=f[c+4>>2];f[k>>2]=f[l>>2];Zf(c,k,m,m+1|0)|0}h=0;do{i=h;h=h+1|0;d=a+44+(i*12|0)+4|0;mj(f[d>>2]|0,c)|0;if(f[d>>2]|0){io(k);hm(k);d=(f[d>>2]|0)-h|0;if((d|0)>-1){g=a+44+(i*12|0)|0;do{e=0;while(1){o=e+d|0;rk(k,(f[(f[g>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0)!=0);if((e|0)<(i|0))e=e+1|0;else break}d=d-h|0}while((d|0)>-1)}Jc(k,c);Ik(k)}}while((h|0)<4);f[m>>2]=f[a+16>>2];e=j;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[l>>2]=f[c+4>>2];f[k>>2]=f[l>>2];Zf(c,k,m,m+4|0)|0;d=j;e=f[d+4>>2]|0;d=f[d>>2]|0}f[m>>2]=f[a+24>>2];if((e|0)>0|(e|0)==0&d>>>0>0){u=n;return 1}f[l>>2]=f[c+4>>2];f[k>>2]=f[l>>2];Zf(c,k,m,m+4|0)|0;u=n;return 1}function $f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0;switch(b[a+24>>0]|0){case 1:{c=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=I;a=f[a>>2]|0;c=f[a>>2]|0;if(!((g|0)<0|((g|0)==0?e>>>0<((f[a+4>>2]|0)-c|0)>>>0:0))){i=0;return i|0}f[d>>2]=h[c+e>>0];i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,2,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8)&255;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,3,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}f[d>>2]=h[c+e>>0];j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,4,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;f[d>>2]=(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24)&255;j=1;return j|0}default:{j=0;return j|0}}return 0}function ag(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 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=0;n=u;u=u+48|0;k=n+8|0;l=n+4|0;m=n;b[m>>0]=f[a+108>>2];j=c+16|0;i=j;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[l>>2]=f[c+4>>2];f[k>>2]=f[l>>2];Zf(c,k,m,m+1|0)|0}h=0;do{i=h;h=h+1|0;d=a+60+(i*12|0)+4|0;mj(f[d>>2]|0,c)|0;if(f[d>>2]|0){io(k);hm(k);d=(f[d>>2]|0)-h|0;if((d|0)>-1){g=a+60+(i*12|0)|0;do{e=0;while(1){o=e+d|0;rk(k,(f[(f[g>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0)!=0);if((e|0)<(i|0))e=e+1|0;else break}d=d-h|0}while((d|0)>-1)}Jc(k,c);Ik(k)}}while((h|0)<4);f[m>>2]=f[a+12>>2];e=j;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[l>>2]=f[c+4>>2];f[k>>2]=f[l>>2];Zf(c,k,m,m+4|0)|0;d=j;e=f[d+4>>2]|0;d=f[d>>2]|0}f[m>>2]=f[a+16>>2];if((e|0)>0|(e|0)==0&d>>>0>0){u=n;return 1}f[l>>2]=f[c+4>>2];f[k>>2]=f[l>>2];Zf(c,k,m,m+4|0)|0;u=n;return 1}function cg(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(20086,20003,64,20081);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)){$j(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)){$j(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))$j(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(20086,20003,64,20081)}else{o=0;p=0}while(0);Qc(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);kr(c);u=s;return 1}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;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 eg(a,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=go(96)|0;Cm(m,c);f[g>>2]=m;m=Ii(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;kr(g)}kr(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);kr(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;kr(g)}kr(c)}kr(i)}if((m|0)<=-1)Fa(20622,20638,66,20730);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))Fa(20740,20638,67,20730);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){ui(a,d-i|0,6172);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(20740,20638,67,20730);Bk(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function fg(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=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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 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,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=go(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3608;f[j+12>>2]=3588;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]=3588;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]=3588;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;oi(p+8|0,o,m);Oa[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];Jh(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;Rh(j,i);f[a>>2]=g;Zj(i);f[p>>2]=3588;e=f[p+20>>2]|0;if(e|0)kr(e);e=f[p+8>>2]|0;if(!e){u=q;return}kr(e);u=q;return}function hg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3632;Rj(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);kr(b)}nk(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);kr(b)}b=f[a+140>>2]|0;if(b|0)kr(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;kr(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kr(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);kr(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);kr(b)}b=f[a+84>>2]|0;if(b|0)kr(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);kr(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);kr(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);kr(b)}b=f[a+28>>2]|0;if(b|0)kr(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);kr(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Fk(b);kr(b);return}function ig(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3432;ek(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);kr(b)}nk(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);kr(b)}b=f[a+140>>2]|0;if(b|0)kr(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;kr(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kr(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);kr(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);kr(b)}b=f[a+84>>2]|0;if(b|0)kr(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);kr(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);kr(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);kr(b)}b=f[a+28>>2]|0;if(b|0)kr(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);kr(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Fk(b);kr(b);return}function jg(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 kg(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];Zf(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(!(pc(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 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;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);kr(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911){$p(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){$p(a);m=Ha(4)|0;Rq(m);sa(m|0,1136,110)}h=go(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 mg(a,b,c,d,e,g){a=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(20622,20638,58,20730);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20740,20638,59,20730);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;Wc(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;Vc(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 ng(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);kr(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}kr(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);kr(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}kr(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);kr(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);kr(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;vm(h);h=a+1088|0;vm(h);h=a+1068|0;vm(h);h=a+1036|0;Ik(h);a=a+12|0;Ri(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);kr(b);h=a+1108|0;vm(h);h=a+1088|0;vm(h);h=a+1068|0;vm(h);h=a+1036|0;Ik(h);a=a+12|0;Ri(a);return}function og(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],Zf(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];Zf(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Ah(a+12|0);g=a+1068|0;Gn(g);c=a+1088|0;Gn(c);b=a+1108|0;Gn(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{Jc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Jc(a+1036|0,e);Lh(g,e);Lh(c,e);Lh(b,e);u=n;return 1}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,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],Zf(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];Zf(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Ah(a+12|0);g=a+1068|0;Gn(g);c=a+1088|0;Gn(c);b=a+1108|0;Gn(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];ib(a,k,m);d=0;do{Jc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Jc(a+1036|0,e);Lh(g,e);Lh(c,e);Lh(b,e);u=n;return 1}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,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+64>>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];Zf(b,j,g,g+4|0)|0}io(k);hm(k);if((f[g>>2]|0)>0){c=a+60|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;rk(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Jc(k,b);f[l>>2]=f[a+16>>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];Zf(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+24>>2];if((d|0)>0|(d|0)==0&c>>>0>0){Ik(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Zf(b,j,l,l+4|0)|0;Ik(k);u=m;return 1}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;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(20622,20638,58,20730);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20740,20638,59,20730);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;Cc(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;Bc(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 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;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];Zf(b,j,g,g+4|0)|0}io(k);hm(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;rk(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Jc(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];Zf(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){Ik(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Zf(b,j,l,l+4|0)|0;Ik(k);u=m;return 1}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;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=ec(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=me(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Od(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Nd(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=sd(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=td(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Tc(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=oc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=ze(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=ge(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=ce(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Id(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Ld(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=wd(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Ac(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Te(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Ae(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=ve(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=ke(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=ne(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Zd(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}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;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Jd(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Rf(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=pf(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=mf(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Ie(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=df(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Qe(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function xg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Nc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=hf(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=cf(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=De(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Ce(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=nf(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=nf(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function yg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Fc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Ue(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Re(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=se(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=pe(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=_e(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=_e(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function zg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Pc(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=hf(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=cf(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=De(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Ce(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=nf(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=nf(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}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,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Fd(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Nf(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=sf(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Oe(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=af(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=be(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=be(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}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,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Be(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=$f(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Yf(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Pf(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Mf(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=rf(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=rf(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function Cg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=Ze(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=zd(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=ud(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Rc(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Oc(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Gc(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Hc(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}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,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=kf(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=Kd(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Ed(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Yc(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Xc(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Lc(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Mc(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function Eg(a,b,c){a=a|0;b=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+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=ae(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=$d(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Yd(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Hd(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Dd(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=vd(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=yd(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}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,k=0,l=0,m=0;m=u;u=u+32|0;i=m+28|0;d=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;e=m+8|0;g=m+4|0;h=m;if(!c){a=0;u=m;return a|0}switch(f[a+28>>2]|0){case 9:{f[d>>2]=f[b>>2];f[i>>2]=f[d>>2];a=rf(a,i,c)|0;u=m;return a|0}case 2:{f[j>>2]=f[b>>2];f[i>>2]=f[j>>2];a=$e(a,i,c)|0;u=m;return a|0}case 1:{f[k>>2]=f[b>>2];f[i>>2]=f[k>>2];a=Ye(a,i,c)|0;u=m;return a|0}case 4:{f[l>>2]=f[b>>2];f[i>>2]=f[l>>2];a=Me(a,i,c)|0;u=m;return a|0}case 3:{f[e>>2]=f[b>>2];f[i>>2]=f[e>>2];a=Je(a,i,c)|0;u=m;return a|0}case 6:{f[g>>2]=f[b>>2];f[i>>2]=f[g>>2];a=Ee(a,i,c)|0;u=m;return a|0}case 5:{f[h>>2]=f[b>>2];f[i>>2]=f[h>>2];a=Fe(a,i,c)|0;u=m;return a|0}default:{a=0;u=m;return a|0}}return 0}function Gg(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}Sn(o);Kk(o,d,0,g&255,9,0,g<<2,0,0,0);j=eg(c,o,1,e)|0;if((j|0)<=-1)Fa(20622,20638,66,20730);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))Fa(20740,20638,67,20730);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=fo(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;hi((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;kr(d)}kr(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);kr(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;kr(d)}kr(a)}s=j;u=p;return s|0}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,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{ui(j,m-l|0,3552);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(20086,20003,64,20081);else if((e|0)==12)Fa(20140,20159,89,20254);else if((e|0)==14)return d|0;return 0}function Ig(a,b,c){a=a|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)on(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);kr(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823){$p(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){$p(a);l=Ha(4)|0;Rq(l);sa(l|0,1136,110)}g=go(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 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;s=u;u=u+32|0;p=s+16|0;l=s+12|0;m=s+8|0;n=s+4|0;o=s;k=f[a+8>>2]|0;r=k+24|0;q=b[r>>0]|0;g=c+4|0;ch(a,(f[g>>2]|0)-(f[c>>2]|0)>>2,q,d);j=f[a+32>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;d=f[c>>2]|0;g=f[g>>2]|0;if((d|0)==(g|0)){r=1;u=s;return r|0}i=k+84|0;h=k+68|0;e=0;a:while(1){a=f[d>>2]|0;if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;c=j+(e<<2)|0;switch(b[r>>0]|0){case 1:{f[l>>2]=a;f[p>>2]=f[l>>2];a=Bg(k,p,c)|0;break}case 2:{f[m>>2]=a;f[p>>2]=f[m>>2];a=Ag(k,p,c)|0;break}case 3:{f[n>>2]=a;f[p>>2]=f[n>>2];a=zg(k,p,c)|0;break}case 4:{f[o>>2]=a;f[p>>2]=f[o>>2];a=yg(k,p,c)|0;break}default:{a=12;break a}}if(!a){d=0;a=13;break}d=d+4|0;if((d|0)==(g|0)){d=1;a=13;break}else e=e+q|0}if((a|0)==12){r=0;u=s;return r|0}else if((a|0)==13){u=s;return d|0}return 0}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,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{ui(j,m-l|0,3552);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(20086,20003,64,20081);else if((e|0)==12)Fa(20140,20159,89,20254);else if((e|0)==13)return d|0;return 0}function Lg(a,c){a=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{ui(j,m-l|0,3552);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(20086,20003,64,20081);else if((e|0)==12)Fa(20140,20159,89,20254);else if((e|0)==13)return d|0;return 0}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,l=0;l=go(40)|0;e=l+16|0;pm(e,c);pm(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=um(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;ag(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;ag(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function Ng(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);kr(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}kr(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);kr(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}kr(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);kr(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);kr(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;vm(h);h=a+52|0;vm(h);h=a+32|0;vm(h);a=a+12|0;vm(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);kr(b);h=a+72|0;vm(h);h=a+52|0;vm(h);h=a+32|0;vm(h);a=a+12|0;vm(a);return}function Og(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);kr(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}kr(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);kr(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}kr(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);kr(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);kr(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;vm(h);h=a+64|0;vm(h);h=a+44|0;vm(h);a=a+12|0;Ik(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);kr(b);h=a+84|0;vm(h);h=a+64|0;vm(h);h=a+44|0;vm(h);a=a+12|0;Ik(a);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,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)on(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);kr(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){$p(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){$p(a);c=Ha(4)|0;Rq(c);sa(c|0,1136,110)}h=go(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 Qg(a,c,d){a=a|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);kr(h);f[k>>2]=0;f[g>>2]=0;f[a>>2]=0;e=0}if(j>>>0>1073741823){$p(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){$p(a);d=Ha(4)|0;Rq(d);sa(d|0,1136,110)}e=go(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 Rg(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],Zf(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];Zf(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Gn(c);b=a+32|0;Gn(b);m=a+52|0;Gn(m);n=a+72|0;Gn(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);Lh(c,e);Lh(b,e);Lh(m,e);Lh(n,e);u=l;return 1}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,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],Zf(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];Zf(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;hm(c);b=a+44|0;Gn(b);m=a+64|0;Gn(m);n=a+84|0;Gn(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);Jc(c,e);Lh(b,e);Lh(m,e);Lh(n,e);u=l;return 1}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=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=go(64)|0;b=go(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3860;f[b+8>>2]=e;f[g>>2]=b;om(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 Wh(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))$j(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{ui(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 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,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){uk(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){$p(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;Rq(a);sa(a|0,1136,110)}else{h=go(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;uk(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);kr(g)}}while((e|0)!=(h|0));if(!i)return;kr(i);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,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]=3540;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)$p(h);c=((c+-1|0)>>>5)+1|0;o=go(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];th(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)$p(h);o=((c+-1|0)>>>5)+1|0;a=go(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];th(h,k,m);u=n;return}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;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3588;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)$p(h);c=((c+-1|0)>>>5)+1|0;o=go(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];th(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)$p(h);o=((c+-1|0)>>>5)+1|0;a=go(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];th(h,k,m);u=n;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,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];Zf(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];Zf(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];Zf(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function Yg(a,b,c){a=a|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);kr(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){$p(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){$p(a);b=Ha(4)|0;Rq(b);sa(b|0,1136,110)}e=go(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;hi(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;hi(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 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;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){uk(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){$p(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;Rq(n);sa(n|0,1136,110)}else{d=go(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);uk(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];uj(m);u=n;return}function _g(a,b,c){a=a|0;b=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;if(!(Fi(a,b,c)|0)){l=0;u=m;return l|0}d=f[b+4>>2]|0;if((c|0)<=-1)Fa(20622,20638,58,20730);e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(c|0))Fa(20740,20638,59,20730);i=f[e+(c<<2)>>2]|0;if((f[i+28>>2]|0)!=9){l=0;u=m;return l|0}g=f[b+48>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;al(k,17976,17);h=g+16|0;e=f[h>>2]|0;if(e){d=h;b=e;a:while(1){e=b;while(1){if((f[e+16>>2]|0)>=(c|0))break;e=f[e+4>>2]|0;if(!e)break a}b=f[e>>2]|0;if(!b){d=e;break}else d=e}if(((d|0)!=(h|0)?(j=d+20|0,(f[d+16>>2]|0)<=(c|0)):0)?(kj(j,k)|0)!=0:0)d=Ql(j,k,-1)|0;else l=16}else l=16;if((l|0)==16)d=Ql(g,k,-1)|0;ep(k);if((d|0)<1){l=0;u=m;return l|0}te(a+40|0,i,d)|0;l=1;u=m;return l|0}function $g(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 ah(a,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);kr(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){$p(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){$p(a);c=Ha(4)|0;Rq(c);sa(c|0,1136,110)}h=go(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 bh(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(7388,7168,57,7518);m=e+4|0;Tj(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(11843,11854,60,11970);if((a|0)>=31)Fa(11990,11854,61,11970);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=fo(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=dp(a|0,I|0,v|0,t|0)|0;hi(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;ih(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 ch(a,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;Lm(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X($m(5)|0,d)|0;Kk(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=go(96)|0;Cm(h,j);Bk(h,c)|0;f[g>>2]=h;gk(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;kr(c)}kr(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);kr(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;kr(c)}kr(d)}kr(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){ui(c,e-g|0,1556);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 dh(a,c){a=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(19429,19838,356,19459);if(e>>>0>=1073741824)Fa(19469,19838,357,19459);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;qo(l);Hi(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;on(j+g|0,j|0,h|0)|0;hi(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=dp(g|0,0,h|0,i|0)|0;k=dp(j|0,I|0,d|0,k|0)|0;Em(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)kr(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;kr(d);u=m;return}function eh(a,c){a=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(19429,19838,356,19459);if(e>>>0>=536870912)Fa(19469,19838,357,19459);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;qo(l);Hi(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;on(j+g|0,j|0,h|0)|0;hi(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=dp(g|0,0,h|0,i|0)|0;k=dp(j|0,I|0,d|0,k|0)|0;Em(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)kr(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;kr(d);u=m;return}function fh(a,c){a=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(19429,19838,356,19459);if(e>>>0>=268435456)Fa(19469,19838,357,19459);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;qo(l);Hi(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;on(j+g|0,j|0,h|0)|0;hi(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=dp(g|0,0,h|0,i|0)|0;k=dp(j|0,I|0,d|0,k|0)|0;Em(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)kr(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;kr(d);u=m;return}function gh(a,c){a=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(19429,19838,356,19459);if(e>>>0>=67108864)Fa(19469,19838,357,19459);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;qo(l);Hi(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;on(j+g|0,j|0,h|0)|0;hi(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=dp(g|0,0,h|0,i|0)|0;k=dp(j|0,I|0,d|0,k|0)|0;Em(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)kr(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;kr(d);u=m;return}function hh(a,c){a=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(19429,19838,356,19459);if(e>>>0>=33554432)Fa(19469,19838,357,19459);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;qo(l);Hi(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;on(j+g|0,j|0,h|0)|0;hi(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=dp(g|0,0,h|0,i|0)|0;k=dp(j|0,I|0,d|0,k|0)|0;Em(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)kr(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;kr(d);u=m;return}function ih(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(14200,11854,99,14288);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 jh(a,c){a=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(19429,19838,356,19459);if(e>>>0>=8388608)Fa(19469,19838,357,19459);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;qo(l);Hi(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;on(j+g|0,j|0,h|0)|0;hi(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=dp(g|0,0,h|0,i|0)|0;k=dp(j|0,I|0,d|0,k|0)|0;Em(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)kr(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;kr(d);u=m;return}function kh(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+360>>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;Wj(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;Xk(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;ah(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;xc(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(20740,20638,59,20730);else if((a|0)==11){u=o;return 1}return 0}function lh(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;Wj(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;Xk(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;ah(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;xc(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(20740,20638,59,20730);else if((a|0)==11){u=o;return 1}return 0}function mh(a,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(19631,19655,45,19757);if((b|0)<=0)Fa(19786,19655,46,19757);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=dp(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=dp(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)){$j(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))$j(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 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;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;kr(b)}ep(k+8|0);kr(k);return l|0}function oh(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 ui(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];Wb(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];Wb(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 ph(a,b,c){a=a|0;b=b|0;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;Se(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{_p(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){_p(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{_p(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){_p(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 qh(a,b,c){a=a|0;b=b|0;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;mj(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(!(Xg(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;mj(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];Zf(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);mj(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(!(Xg(0,b,e+8|0)|0)){d=0;e=10;break}qh(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 rh(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){Pl(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){Pl(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){Pl(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 sh(a,b,c){a=a|0;b=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)on(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;hi(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);kr(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){$p(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){$p(a);b=Ha(4)|0;Rq(b);sa(b|0,1136,110)}e=go(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;hi(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,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];qf(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;on(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 uh(a,c,d){a=a|0;c=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(20140,20159,89,20254)}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{ui(h,q-i|0,6172);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function vh(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;h=k+8|0;i=k+4|0;j=k;f[j>>2]=f[a+16>>2];g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+4|0)|0;d=g;e=f[d+4>>2]|0;d=f[d>>2]|0}f[j>>2]=f[a+24>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+4|0)|0;d=g;e=f[d+4>>2]|0;d=f[d>>2]|0}b[j>>0]=f[a+72>>2];if((e|0)>0|(e|0)==0&d>>>0>0){a=0;u=k;return a|0}else{f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+1|0)|0;Jc(a+92|0,c);a=1;u=k;return a|0}return 0}function wh(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 xh(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;h=k+8|0;i=k+4|0;j=k;f[j>>2]=f[a+12>>2];g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+4|0)|0;d=g;e=f[d+4>>2]|0;d=f[d>>2]|0}f[j>>2]=f[a+16>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+4|0)|0;d=g;e=f[d+4>>2]|0;d=f[d>>2]|0}b[j>>0]=f[a+88>>2];if((e|0)>0|(e|0)==0&d>>>0>0){a=0;u=k;return a|0}else{f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Zf(c,h,j,j+1|0)|0;Jc(a+108|0,c);a=1;u=k;return a|0}return 0}function yh(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 Mh(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{Mh(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 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;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 Ah(a){a=a|0;hm(a);hm(a+32|0);hm(a+64|0);hm(a+96|0);hm(a+128|0);hm(a+160|0);hm(a+192|0);hm(a+224|0);hm(a+256|0);hm(a+288|0);hm(a+320|0);hm(a+352|0);hm(a+384|0);hm(a+416|0);hm(a+448|0);hm(a+480|0);hm(a+512|0);hm(a+544|0);hm(a+576|0);hm(a+608|0);hm(a+640|0);hm(a+672|0);hm(a+704|0);hm(a+736|0);hm(a+768|0);hm(a+800|0);hm(a+832|0);hm(a+864|0);hm(a+896|0);hm(a+928|0);hm(a+960|0);hm(a+992|0);hm(a+1024|0);return}function Bh(a,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(20271,20283,102,20376);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))Ni(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)){$j(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;kr(e)}kr(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);kr(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;kr(e)}kr(d)}kr(b);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=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;kr(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){$p(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)$p(a);e=go(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)on(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 Dh(a,c,d){a=a|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(!(Fi(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;al(k,17976,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)?(kj(j,k)|0)!=0:0)c=Ql(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Ql(h,k,-1)|0;ep(k);if((c|0)<1){l=0;u=m;return l|0}Sp(a+40|0,c);l=1;u=m;return l|0}function Eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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=hr((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)){ir(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=fo(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=dp(a|0,I|0,v|0,t|0)|0;hi(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];Zf(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}ir(p);u=s;return 1}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,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){uk(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){$p(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;Rq(a);sa(a|0,1136,110)}else{i=go(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;uk(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;kr(g);return}function Gh(a,b){a=a|0;b=b|0;var c=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]))rk(d,0);else rk(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 Hh(a,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 Ih(a,c,d){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;k=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;e=f[c+4>>2]|0;if(!e)Fa(13112,13321,62,13542);c=f[c+8>>2]|0;if(!c)Fa(13112,13321,62,13542);c=f[c+(d<<2)>>2]|0;if(!(b[e+84>>0]|0))c=f[(f[e+68>>2]|0)+(c<<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;switch(b[e+24>>0]|0){case 1:{f[g>>2]=c;f[k>>2]=f[g>>2];wg(e,k,a)|0;u=l;return}case 2:{f[h>>2]=c;f[k>>2]=f[h>>2];vg(e,k,a)|0;u=l;return}case 3:{f[i>>2]=c;f[k>>2]=f[i>>2];ug(e,k,a)|0;u=l;return}case 4:{f[j>>2]=c;f[k>>2]=f[j>>2];tg(e,k,a)|0;u=l;return}default:{u=l;return}}}function Jh(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){kr(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)$p(g);d=((c+-1|0)>>>5)+1|0;c=go(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}on(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){kr(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)$p(h);d=((c+-1|0)>>>5)+1|0;c=go(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}on(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 Kh(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){$p(e);o=Ha(4)|0;Rq(o);sa(o|0,1136,110)}else{l=go(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;uk(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*+si(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);kr(k);I=b;u=o;return e|0}function Lh(a,b){a=a|0;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)){$j(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];Zf(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];Zf(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 Mh(a,b,c){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){$p(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;Rq(k);sa(k|0,1136,110)}else{e=go(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)hi(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;kr(d);return}function Nh(a,c){a=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(19429,19838,356,19459);if(i>>>0>=4194304)Fa(19469,19838,357,19459);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;qo(l);Hi(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;on(j+g|0,j|0,h|0)|0;hi(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=dp(g|0,0,h|0,i|0)|0;k=dp(j|0,I|0,d|0,k|0)|0;Em(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)kr(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;kr(d);u=m;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;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];Zf(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];Zf(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];Zf(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function Ph(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 Fh(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}c=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](k,a,c);h=(f[l>>2]|0)+(c<<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);if(!(f[(f[l>>2]|0)+(c<<2)>>2]|0)){b=0;c=16;break}c=c+1|0;if(c>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=16;break}}if((c|0)==16){u=m;return b|0}return 0}function Qh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;h=k+4|0;g=k;i=k+8|0;c=f[a+116>>2]|0;if((c|0)!=-1){f[h>>2]=c;e=a+72|0;d=f[e>>2]|0;if((d|0)==(f[a+76>>2]|0))$j(a+68|0,h);else{f[d>>2]=c;f[e>>2]=d+4}}Uf(a);j=a+32|0;mj(f[a+120>>2]|0,j)|0;b[i>>0]=f[a+140>>2];e=a+48|0;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[g>>2]=f[a+36>>2];f[h>>2]=f[g>>2];Zf(j,h,i,i+1|0)|0}i=a+144|0;h=a+148|0;c=f[i>>2]|0;if((f[h>>2]|0)==(c|0)){u=k;return}g=0;do{mj((f[c+(g*12|0)+4>>2]|0)-(f[c+(g*12|0)>>2]|0)>>2,j)|0;c=f[i>>2]|0;d=f[c+(g*12|0)>>2]|0;e=(f[c+(g*12|0)+4>>2]|0)-d>>2;if(e){Qc(d,e,1,j)|0;c=f[i>>2]|0}g=g+1|0}while(g>>>0<(((f[h>>2]|0)-c|0)/12|0)>>>0);u=k;return}function Rh(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];Jh(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{Yg(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Yg(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Yg(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];sh(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Sh(a,b){a=a|0;b=b|0;var c=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)){$j(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{ui(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 Th(a,c,d){a=a|0;c=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){$p(a);q=Ha(4)|0;Rq(q);sa(q|0,1136,110)}d=go(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];xg(e,o,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 Uh(a,b){a=a|0;b=b|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{on(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;Rq(b);sa(b|0,1136,110)}h=go(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{kr(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 Vh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6144;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);kr(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);kr(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);kr(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);kr(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);kr(b)}vj(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){fk(c);kr(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}kr(b)}fk(e);kr(e);return}function Wh(a,b){a=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){$p(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;Rq(a);sa(a|0,1136,110)}else{e=go(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;kr(g);return}function Xh(a,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(19978,20003,63,20081);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Fa(20086,20003,64,20081);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))$j(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)){$j(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 Yh(a,b,c,d,e,g){a=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+56>>2]=e;f[a+48>>2]=g;l=hr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)ir(d);k=a+40|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){_p(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];sc(a,o,b,g);j=X(g,e)|0;xj(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 Zh(a,b){a=a|0;b=b|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{on(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;Rq(b);sa(b|0,1136,110)}h=go(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){kr(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function _h(a,c){a=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=rm(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;Ok(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))}Al(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);kr(e)}u=n;return}function $h(a,b,c){a=a|0;b=b|0;c=c|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;Cf(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;on(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 ai(a,b){a=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){$p(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;Rq(a);sa(a|0,1136,110)}else{e=go(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){fk(d);kr(d)}}while((c|0)!=(e|0));if(!g)return;kr(g);return}function bi(a,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;Bh(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;kr(d)}kr(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);kr(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;kr(d)}kr(c)}kr(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){yi(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 ci(a,c,d){a=a|0;c=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=um(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=um(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 di(a,b,c,d,e,g){a=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+56>>2]=e;f[a+48>>2]=g;l=hr(e>>>0>1073741823?-1:e<<2)|0;m=a+52|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)ir(d);k=a+40|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){_p(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];rc(a,o,b,g);j=X(g,e)|0;xj(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 ei(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;Po(g,c);Of(h,b,c);Ti(g,h);Gk(h+24|0,f[h+28>>2]|0);Mk(h+12|0,f[h+16>>2]|0);Gk(h,f[h+4>>2]|0);wk(a,g,d);Gk(g+24|0,f[g+28>>2]|0);Mk(g+12|0,f[g+16>>2]|0);Gk(g,f[g+4>>2]|0);u=e;return}function fi(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(20622,20638,58,20730);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20740,20638,59,20730);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=Jj(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){rg(a,d,b,c,e,513);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=go(44)|0;f[b>>2]=1568;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];Rk(b+32|0,e+24|0);f[b>>2]=1624}f[a>>2]=b;return}function gi(a,c){a=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=um(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=um(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 hi(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 ii(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];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 ji(a,b,c){a=a|0;b=b|0;c=c|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=ip(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=ip(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 ki(a,c,d){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=go(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];xi(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 li(a,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;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+4>>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;c=f[c>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];wg(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];vg(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];ug(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];tg(c,j,a)|0;u=k;return}default:{u=k;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,k=0;k=u;u=u+32|0;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+48>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=f[c+44>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];Fg(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];Eg(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];Dg(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];Cg(c,j,a)|0;u=k;return}default:{u=k;return}}}function ni(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];nc(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];nc(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 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,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){$p(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;Fj(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)kr(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){uk(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{uk(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 pi(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 qi(a,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;j=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;d=f[(f[c+64>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=f[c+60>>2]|0;if(!(b[c+84>>0]|0))d=f[(f[c+68>>2]|0)+(d<<2)>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[j>>2]=f[e>>2];Fg(c,j,a)|0;u=k;return}case 2:{f[g>>2]=d;f[j>>2]=f[g>>2];Eg(c,j,a)|0;u=k;return}case 3:{f[h>>2]=d;f[j>>2]=f[h>>2];Dg(c,j,a)|0;u=k;return}case 4:{f[i>>2]=d;f[j>>2]=f[i>>2];Cg(c,j,a)|0;u=k;return}default:{u=k;return}}}function ri(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(20622,20638,58,20730);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20740,20638,59,20730);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=Jj(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){mg(a,d,b,c,e,513);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=go(28)|0;f[b+4>>2]=g;d=b+12|0;e=e+4|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+8>>2]=2492;f[b>>2]=2512}f[a>>2]=b;return}function si(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 ti(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(!(Pp(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Pp(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 In(0,c,d,e);while(0);return}function ui(a,b,c){a=a|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){$p(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;Rq(b);sa(b|0,1136,110)}else{h=go(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)hi(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;kr(d);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,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+44|0;f[a+48>>2]=g;k=a+40|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+52|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){_p(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Hb(o,n,b,g);i=X(g,e)|0;xj(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 wi(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){$p(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;Rq(j);sa(j|0,1136,110)}else{d=go(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)hi(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;kr(c);return}function xi(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=Xd(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=go(40)|0;pm(e+16|0,d);pm(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}ag(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 yi(a,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){$p(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;Rq(b);sa(b|0,1136,110)}else{g=go(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)hi(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;kr(c);return}function zi(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 Ij(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 Ai(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;al(i,18813,19);c=(kj(c,i)|0)==0;ep(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(yk(d)|0)>5&1;b[a+360>>0]=i;u=j;return 1}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;al(i,18813,19);h=(fl(d,i,0)|0)&1;b[a+360>>0]=h;ep(i);u=j;return 1}return 0}function Bi(a,b,c,d,e,g){a=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+44|0;f[a+48>>2]=g;k=a+40|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+52|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){_p(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;xj(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 Ci(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;al(i,18813,19);c=(kj(c,i)|0)==0;ep(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(yk(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;al(i,18813,19);h=(fl(d,i,0)|0)&1;b[a+288>>0]=h;ep(i);u=j;return 1}return 0}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,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]=1256;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;$j(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{ui(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 Ei(a,b){a=a|0;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){$p(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;Rq(a);sa(a|0,1136,110)}else{h=go(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;kr(d);return}function Fi(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(!(jm(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=sj(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 Gi(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;Si(a+12|0);io(a+1036|0);Yo(a+1068|0);Yo(a+1088|0);Yo(a+1108|0);f[i>>2]=0;$k(a+1128|0,b,i);f[i>>2]=0;$k(a+1140|0,b,i);f[i>>2]=0;$k(a+1152|0,b,i);g=b<<5|1;f[h>>2]=0;$k(i,b,h);Yk(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);kr(c)}f[h>>2]=0;$k(i,b,h);Yk(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);kr(e);u=j;return}function Hi(a,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];Zf(d,h,i,i+1|0)|0;a=Fo(a|0,c|0,7)|0;a=Hi(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];Zf(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}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;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;kr(a)}kr(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);kr(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;kr(a)}kr(b)}kr(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 Ji(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0;g=go(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;Lj(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 Ki(a,c,d){a=a|0;c=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((Fb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=qr(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=Fb(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=Fb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)pr(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function Li(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(Pp(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 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,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{Ij(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(!(Qb(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 Ni(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){Zg(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;kr(d)}kr(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);kr(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;kr(d)}kr(c)}kr(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function Oi(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{Ij(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 Pi(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){ue(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;ue(a,b);return}function Qi(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)Xp(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{jp(a,d,(e&255)+1|0)|0;kr(d);g=15}}else{c=go(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{jp(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){jp(c,d,(f[a+4>>2]|0)+1|0)|0;kr(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 Ri(a){a=a|0;Ik(a+992|0);Ik(a+960|0);Ik(a+928|0);Ik(a+896|0);Ik(a+864|0);Ik(a+832|0);Ik(a+800|0);Ik(a+768|0);Ik(a+736|0);Ik(a+704|0);Ik(a+672|0);Ik(a+640|0);Ik(a+608|0);Ik(a+576|0);Ik(a+544|0);Ik(a+512|0);Ik(a+480|0);Ik(a+448|0);Ik(a+416|0);Ik(a+384|0);Ik(a+352|0);Ik(a+320|0);Ik(a+288|0);Ik(a+256|0);Ik(a+224|0);Ik(a+192|0);Ik(a+160|0);Ik(a+128|0);Ik(a+96|0);Ik(a+64|0);Ik(a+32|0);Ik(a);return}function Si(a){a=a|0;io(a);io(a+32|0);io(a+64|0);io(a+96|0);io(a+128|0);io(a+160|0);io(a+192|0);io(a+224|0);io(a+256|0);io(a+288|0);io(a+320|0);io(a+352|0);io(a+384|0);io(a+416|0);io(a+448|0);io(a+480|0);io(a+512|0);io(a+544|0);io(a+576|0);io(a+608|0);io(a+640|0);io(a+672|0);io(a+704|0);io(a+736|0);io(a+768|0);io(a+800|0);io(a+832|0);io(a+864|0);io(a+896|0);io(a+928|0);io(a+960|0);io(a+992|0);return}function Ti(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];Ic(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];yc(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];Ic(a+24|0,d,g);u=i;return}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,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Qp(f[a+8>>2]|0,o)|0;e=Qp(f[a+12>>2]|0,o)|0;g=Qp(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=Qp(f[a+(g<<2)>>2]|0,o)|0;g=Qp(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=Qm(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=Qp(f[a+(e<<2)>>2]|0,o)|0;e=Qp(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 Vi(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;Yo(a+12|0);Yo(a+32|0);Yo(a+52|0);Yo(a+72|0);f[i>>2]=0;$k(a+92|0,b,i);f[i>>2]=0;$k(a+104|0,b,i);f[i>>2]=0;$k(a+116|0,b,i);g=b<<5|1;f[h>>2]=0;$k(i,b,h);Yk(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);kr(c)}f[h>>2]=0;$k(i,b,h);Yk(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);kr(e);u=j;return}function Wi(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;io(a+12|0);Yo(a+44|0);Yo(a+64|0);Yo(a+84|0);f[i>>2]=0;$k(a+104|0,b,i);f[i>>2]=0;$k(a+116|0,b,i);f[i>>2]=0;$k(a+128|0,b,i);g=b<<5|1;f[h>>2]=0;$k(i,b,h);Yk(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);kr(c)}f[h>>2]=0;$k(i,b,h);Yk(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);kr(e);u=j;return}function Xi(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;gf(g,a+40|0,f[a+8>>2]|0,b,c);gk(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;kr(b)}kr(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);kr(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;kr(b)}kr(c)}kr(d);u=e;return 1}function Yi(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=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))return;g=dp(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;g=Fo(g|0,I|0,3)|0;h=I;if(!(b[a+24>>0]|0)){j=a+4|0;e=j}else{e=f[a>>2]|0;j=a+4|0;e=e+((f[j>>2]|0)-e)|0;d=dp(c|0,d|0,8,0)|0;d=e+(0-d)|0;e=d;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;d=d+4|0;b[d>>0]=h;b[d+1>>0]=h>>8;b[d+2>>0]=h>>16;b[d+3>>0]=h>>24;d=l;e=j;c=f[d>>2]|0;d=f[d+4>>2]|0}e=f[e>>2]|0;m=f[a>>2]|0;i=e-m|0;c=bp(g|0,h|0,c|0,d|0)|0;c=dp(c|0,I|0,i|0,0)|0;d=m;if(c>>>0<=i>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[j>>2]=k}else Lj(a,c-i|0);m=l;f[m>>2]=0;f[m+4>>2]=0;return}function Zi(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 _i(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 $i(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){de(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;de(a,b);return}function aj(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){Ge(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;Ge(a,b);return} +function Fb(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=ar()|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)Ep(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=pn(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=pn(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+(20794+(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}jg(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=Mn(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=21258;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=bp(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21258;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21258:21260):21259;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21258;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21258;i=x;break}case 109:{i=ar()|0;i=Kp(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21268;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){cm(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=Eb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21258;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=tn(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21258:21258+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=El(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=zj(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21258;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=Jp(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}cm(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=Jp(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Ep(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;cm(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;cm(a,32,i,l,n);Ep(a,j,k);cm(a,48,i,l,n^65536);cm(a,48,q,r,0);Ep(a,o,r);cm(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;jg(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 Gb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,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;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=f[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=f[(f[f[g>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){k=b;l=-1073741824}else{k=b;l=f[(f[f[g>>2]>>2]|0)+(e<<2)>>2]|0}}else{k=-1073741824;l=-1073741824}b=a+36|0;i=f[b>>2]|0;e=f[i+4>>2]|0;j=f[i>>2]|0;if(e-j>>2>>>0>k>>>0){b=j;g=e;h=i;e=j}else{_p(i);h=f[b>>2]|0;b=f[h>>2]|0;g=f[h+4>>2]|0;e=f[i>>2]|0}t=f[e+(k<<2)>>2]|0;if(g-b>>2>>>0<=l>>>0){_p(h);b=f[h>>2]|0}b=f[b+(l<<2)>>2]|0;m=(t|0)<(d|0);do if(m&(b|0)<(d|0)){p=t<<1;n=f[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=f[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;l=b<<1;k=f[c+(l<<2)>>2]|0;l=f[c+((l|1)<<2)>>2]|0;if(!((k|0)!=(n|0)|(l|0)!=(p|0))){f[a+8>>2]=n;f[a+12>>2]=p;u=D;return}li(z,a,d);li(r,a,t);li(s,a,b);v=s;h=r;g=f[h>>2]|0;h=f[h+4>>2]|0;v=bp(f[v>>2]|0,f[v+4>>2]|0,g|0,h|0)|0;w=I;x=s+8|0;j=r+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;x=bp(f[x>>2]|0,f[x+4>>2]|0,i|0,j|0)|0;y=I;s=s+16|0;e=r+16|0;b=f[e>>2]|0;e=f[e+4>>2]|0;r=bp(f[s>>2]|0,f[s+4>>2]|0,b|0,e|0)|0;s=I;B=fo(v|0,w|0,v|0,w|0)|0;E=I;A=fo(x|0,y|0,x|0,y|0)|0;E=dp(A|0,I|0,B|0,E|0)|0;B=I;A=fo(r|0,s|0,r|0,s|0)|0;A=dp(E|0,B|0,A|0,I|0)|0;B=I;if((A|0)==0&(B|0)==0)break;J=z;J=bp(f[J>>2]|0,f[J+4>>2]|0,g|0,h|0)|0;H=I;G=z+8|0;G=bp(f[G>>2]|0,f[G+4>>2]|0,i|0,j|0)|0;F=I;g=z+16|0;g=bp(f[g>>2]|0,f[g+4>>2]|0,b|0,e|0)|0;h=I;E=fo(J|0,H|0,v|0,w|0)|0;b=I;j=fo(G|0,F|0,x|0,y|0)|0;b=dp(j|0,I|0,E|0,b|0)|0;E=I;j=fo(g|0,h|0,r|0,s|0)|0;j=dp(b|0,E|0,j|0,I|0)|0;E=I;b=bp(k|0,((k|0)<0)<<31>>31|0,n|0,o|0)|0;k=I;t=bp(l|0,((l|0)<0)<<31>>31|0,p|0,q|0)|0;z=I;n=fo(A|0,B|0,n|0,o|0)|0;m=I;p=fo(A|0,B|0,p|0,q|0)|0;o=I;e=fo(j|0,E|0,b|0,k|0)|0;q=I;i=fo(j|0,E|0,t|0,z|0)|0;l=I;m=dp(e|0,q|0,n|0,m|0)|0;n=I;o=dp(i|0,l|0,p|0,o|0)|0;p=I;l=fo(j|0,E|0,v|0,w|0)|0;i=I;x=fo(j|0,E|0,x|0,y|0)|0;y=I;E=fo(j|0,E|0,r|0,s|0)|0;j=I;i=Bl(l|0,i|0,A|0,B|0)|0;l=I;y=Bl(x|0,y|0,A|0,B|0)|0;x=I;j=Bl(E|0,j|0,A|0,B|0)|0;E=I;l=bp(J|0,H|0,i|0,l|0)|0;i=I;x=bp(G|0,F|0,y|0,x|0)|0;y=I;E=bp(g|0,h|0,j|0,E|0)|0;j=I;i=fo(l|0,i|0,l|0,i|0)|0;l=I;y=fo(x|0,y|0,x|0,y|0)|0;l=dp(y|0,I|0,i|0,l|0)|0;i=I;j=fo(E|0,j|0,E|0,j|0)|0;j=dp(l|0,i|0,j|0,I|0)|0;i=I;k=bp(0,0,b|0,k|0)|0;l=I;i=fo(j|0,i|0,A|0,B|0)|0;j=I;b=j&2147483647;switch(i|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;g=i;h=j;C=19}break}case 1:{if(!b){e=1;b=0;C=20}else{e=1;b=0;g=i;h=j;C=19}break}default:{e=1;b=0;g=i;h=j;C=19}}if((C|0)==19)while(1){e=Ao(e|0,b|0,1)|0;b=I;J=g;g=Fo(g|0,h|0,2)|0;if(!(h>>>0>0|(h|0)==0&J>>>0>7)){C=20;break}else{h=I;C=19}}if((C|0)==20)while(1){J=Tp(i|0,j|0,e|0,b|0)|0;e=dp(J|0,I|0,e|0,b|0)|0;e=Fo(e|0,I|0,1)|0;b=I;J=fo(e|0,b|0,e|0,b|0)|0;H=I;if(H>>>0>j>>>0|(H|0)==(j|0)&J>>>0>i>>>0)C=20;else break}i=fo(e|0,b|0,t|0,z|0)|0;J=I;g=fo(e|0,b|0,k|0,l|0)|0;k=I;H=dp(i|0,J|0,m|0,n|0)|0;e=I;j=dp(g|0,k|0,o|0,p|0)|0;b=I;e=Bl(H|0,e|0,A|0,B|0)|0;H=I;b=Bl(j|0,b|0,A|0,B|0)|0;j=I;J=bp(m|0,n|0,i|0,J|0)|0;n=I;k=bp(o|0,p|0,g|0,k|0)|0;m=I;n=Bl(J|0,n|0,A|0,B|0)|0;J=I;m=Bl(k|0,m|0,A|0,B|0)|0;k=I;g=d<<1;i=f[c+(g<<2)>>2]|0;G=((i|0)<0)<<31>>31;g=f[c+((g|1)<<2)>>2]|0;l=((g|0)<0)<<31>>31;H=bp(i|0,G|0,e|0,H|0)|0;F=I;j=bp(g|0,l|0,b|0,j|0)|0;h=I;F=fo(H|0,F|0,H|0,F|0)|0;H=I;h=fo(j|0,h|0,j|0,h|0)|0;H=dp(h|0,I|0,F|0,H|0)|0;F=I;J=bp(i|0,G|0,n|0,J|0)|0;G=I;k=bp(g|0,l|0,m|0,k|0)|0;l=I;G=fo(J|0,G|0,J|0,G|0)|0;J=I;l=fo(k|0,l|0,k|0,l|0)|0;J=dp(l|0,I|0,G|0,J|0)|0;G=I;l=a+16|0;k=a+20|0;g=f[k>>2]|0;i=a+24|0;h=f[i>>2]|0;j=(g|0)==(h<<5|0);if(F>>>0>>0|(F|0)==(G|0)&H>>>0>>0){if(j){if((g+1|0)<0){$p(l);h=f[i>>2]|0}J=h<<6;g=g+32&-32;Fj(l,h<<5>>>0<1073741823?(J>>>0>>0?g:J):2147483647);g=f[k>>2]|0}f[k>>2]=g+1;J=(f[l>>2]|0)+(g>>>5<<2)|0;f[J>>2]=f[J>>2]|1<<(g&31)}else{if(j){if((g+1|0)<0){$p(l);h=f[i>>2]|0}J=h<<6;g=g+32&-32;Fj(l,h<<5>>>0<1073741823?(J>>>0>>0?g:J):2147483647);g=f[k>>2]|0}f[k>>2]=g+1;e=(f[l>>2]|0)+(g>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(g&31));e=n;b=m}f[a+8>>2]=e;f[a+12>>2]=b;u=D;return}while(0);do if(m)b=t<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}J=a+8|0;f[J>>2]=0;f[J+4>>2]=0;u=D;return}while(0);f[a+8>>2]=f[c+(b<<2)>>2];f[a+12>>2]=f[c+(b+1<<2)>>2];u=D;return}function Hb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,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;D=u;u=u+80|0;z=D+48|0;r=D+24|0;s=D;g=a+32|0;e=f[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else b=e;while(0);l=f[(f[g>>2]|0)+28>>2]|0;k=f[l+(b<<2)>>2]|0;l=f[l+(e<<2)>>2]|0;e=a+36|0;g=f[e>>2]|0;b=f[g+4>>2]|0;j=f[g>>2]|0;if(b-j>>2>>>0>k>>>0){h=b;i=g;e=j;b=j}else{_p(g);b=f[e>>2]|0;h=f[b+4>>2]|0;i=b;e=f[g>>2]|0;b=f[b>>2]|0}y=f[e+(k<<2)>>2]|0;if(h-b>>2>>>0<=l>>>0){_p(i);b=f[i>>2]|0}b=f[b+(l<<2)>>2]|0;m=(y|0)<(d|0);do if(m&(b|0)<(d|0)){p=y<<1;n=f[c+(p<<2)>>2]|0;o=((n|0)<0)<<31>>31;p=f[c+((p|1)<<2)>>2]|0;q=((p|0)<0)<<31>>31;l=b<<1;k=f[c+(l<<2)>>2]|0;l=f[c+((l|1)<<2)>>2]|0;if(!((k|0)!=(n|0)|(l|0)!=(p|0))){f[a+8>>2]=n;f[a+12>>2]=p;u=D;return}li(z,a,d);li(r,a,y);li(s,a,b);t=s;h=r;g=f[h>>2]|0;h=f[h+4>>2]|0;t=bp(f[t>>2]|0,f[t+4>>2]|0,g|0,h|0)|0;v=I;w=s+8|0;j=r+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;w=bp(f[w>>2]|0,f[w+4>>2]|0,i|0,j|0)|0;x=I;s=s+16|0;e=r+16|0;b=f[e>>2]|0;e=f[e+4>>2]|0;r=bp(f[s>>2]|0,f[s+4>>2]|0,b|0,e|0)|0;s=I;B=fo(t|0,v|0,t|0,v|0)|0;E=I;A=fo(w|0,x|0,w|0,x|0)|0;E=dp(A|0,I|0,B|0,E|0)|0;B=I;A=fo(r|0,s|0,r|0,s|0)|0;A=dp(E|0,B|0,A|0,I|0)|0;B=I;if((A|0)==0&(B|0)==0)break;J=z;J=bp(f[J>>2]|0,f[J+4>>2]|0,g|0,h|0)|0;H=I;G=z+8|0;G=bp(f[G>>2]|0,f[G+4>>2]|0,i|0,j|0)|0;F=I;g=z+16|0;g=bp(f[g>>2]|0,f[g+4>>2]|0,b|0,e|0)|0;h=I;E=fo(J|0,H|0,t|0,v|0)|0;b=I;j=fo(G|0,F|0,w|0,x|0)|0;b=dp(j|0,I|0,E|0,b|0)|0;E=I;j=fo(g|0,h|0,r|0,s|0)|0;j=dp(b|0,E|0,j|0,I|0)|0;E=I;b=bp(k|0,((k|0)<0)<<31>>31|0,n|0,o|0)|0;k=I;y=bp(l|0,((l|0)<0)<<31>>31|0,p|0,q|0)|0;z=I;n=fo(A|0,B|0,n|0,o|0)|0;m=I;p=fo(A|0,B|0,p|0,q|0)|0;o=I;e=fo(j|0,E|0,b|0,k|0)|0;q=I;i=fo(j|0,E|0,y|0,z|0)|0;l=I;m=dp(e|0,q|0,n|0,m|0)|0;n=I;o=dp(i|0,l|0,p|0,o|0)|0;p=I;l=fo(j|0,E|0,t|0,v|0)|0;i=I;w=fo(j|0,E|0,w|0,x|0)|0;x=I;E=fo(j|0,E|0,r|0,s|0)|0;j=I;i=Bl(l|0,i|0,A|0,B|0)|0;l=I;x=Bl(w|0,x|0,A|0,B|0)|0;w=I;j=Bl(E|0,j|0,A|0,B|0)|0;E=I;l=bp(J|0,H|0,i|0,l|0)|0;i=I;w=bp(G|0,F|0,x|0,w|0)|0;x=I;E=bp(g|0,h|0,j|0,E|0)|0;j=I;i=fo(l|0,i|0,l|0,i|0)|0;l=I;x=fo(w|0,x|0,w|0,x|0)|0;l=dp(x|0,I|0,i|0,l|0)|0;i=I;j=fo(E|0,j|0,E|0,j|0)|0;j=dp(l|0,i|0,j|0,I|0)|0;i=I;k=bp(0,0,b|0,k|0)|0;l=I;i=fo(j|0,i|0,A|0,B|0)|0;j=I;b=j&2147483647;switch(i|0){case 0:{if(!b){e=0;b=0}else{e=1;b=0;g=i;h=j;C=18}break}case 1:{if(!b){e=1;b=0;C=19}else{e=1;b=0;g=i;h=j;C=18}break}default:{e=1;b=0;g=i;h=j;C=18}}if((C|0)==18)while(1){e=Ao(e|0,b|0,1)|0;b=I;J=g;g=Fo(g|0,h|0,2)|0;if(!(h>>>0>0|(h|0)==0&J>>>0>7)){C=19;break}else{h=I;C=18}}if((C|0)==19)while(1){J=Tp(i|0,j|0,e|0,b|0)|0;e=dp(J|0,I|0,e|0,b|0)|0;e=Fo(e|0,I|0,1)|0;b=I;J=fo(e|0,b|0,e|0,b|0)|0;H=I;if(H>>>0>j>>>0|(H|0)==(j|0)&J>>>0>i>>>0)C=19;else break}i=fo(e|0,b|0,y|0,z|0)|0;J=I;g=fo(e|0,b|0,k|0,l|0)|0;k=I;H=dp(i|0,J|0,m|0,n|0)|0;e=I;j=dp(g|0,k|0,o|0,p|0)|0;b=I;e=Bl(H|0,e|0,A|0,B|0)|0;H=I;b=Bl(j|0,b|0,A|0,B|0)|0;j=I;J=bp(m|0,n|0,i|0,J|0)|0;n=I;k=bp(o|0,p|0,g|0,k|0)|0;m=I;n=Bl(J|0,n|0,A|0,B|0)|0;J=I;m=Bl(k|0,m|0,A|0,B|0)|0;k=I;g=d<<1;i=f[c+(g<<2)>>2]|0;G=((i|0)<0)<<31>>31;g=f[c+((g|1)<<2)>>2]|0;l=((g|0)<0)<<31>>31;H=bp(i|0,G|0,e|0,H|0)|0;F=I;j=bp(g|0,l|0,b|0,j|0)|0;h=I;F=fo(H|0,F|0,H|0,F|0)|0;H=I;h=fo(j|0,h|0,j|0,h|0)|0;H=dp(h|0,I|0,F|0,H|0)|0;F=I;J=bp(i|0,G|0,n|0,J|0)|0;G=I;k=bp(g|0,l|0,m|0,k|0)|0;l=I;G=fo(J|0,G|0,J|0,G|0)|0;J=I;l=fo(k|0,l|0,k|0,l|0)|0;J=dp(l|0,I|0,G|0,J|0)|0;G=I;l=a+16|0;k=a+20|0;g=f[k>>2]|0;i=a+24|0;h=f[i>>2]|0;j=(g|0)==(h<<5|0);if(F>>>0>>0|(F|0)==(G|0)&H>>>0>>0){if(j){if((g+1|0)<0){$p(l);h=f[i>>2]|0}J=h<<6;g=g+32&-32;Fj(l,h<<5>>>0<1073741823?(J>>>0>>0?g:J):2147483647);g=f[k>>2]|0}f[k>>2]=g+1;J=(f[l>>2]|0)+(g>>>5<<2)|0;f[J>>2]=f[J>>2]|1<<(g&31)}else{if(j){if((g+1|0)<0){$p(l);h=f[i>>2]|0}J=h<<6;g=g+32&-32;Fj(l,h<<5>>>0<1073741823?(J>>>0>>0?g:J):2147483647);g=f[k>>2]|0}f[k>>2]=g+1;e=(f[l>>2]|0)+(g>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(g&31));e=n;b=m}f[a+8>>2]=e;f[a+12>>2]=b;u=D;return}while(0);do if(m)b=y<<1;else{if((d|0)>0){b=(d<<1)+-2|0;break}J=a+8|0;f[J>>2]=0;f[J+4>>2]=0;u=D;return}while(0);f[a+8>>2]=f[c+(b<<2)>>2];f[a+12>>2]=f[c+(b+1<<2)>>2];u=D;return}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,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+360|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))$j(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{ui(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(20622,20638,58,20730);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20740,20638,59,20730);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=go(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3516;n=h+12|0;f[n>>2]=3540;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]=3540;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]=3540;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;oi(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);Vg(v,x);Vg(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Jh(g,y)|0;f[y>>2]=3540;d=f[y+20>>2]|0;if(d|0)kr(d);d=f[y+8>>2]|0;if(d|0)kr(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3540;d=f[v+20>>2]|0;if(d|0)kr(d);d=f[v+8>>2]|0;if(d|0)kr(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Jh(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;Yg(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);kr(d)}f[r>>2]=3540;d=f[w+24>>2]|0;if(d|0)kr(d);d=f[w+12>>2]|0;if(d|0)kr(d);f[x>>2]=3540;d=f[x+20>>2]|0;if(d|0)kr(d);d=f[x+8>>2]|0;if(d|0)kr(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((yk(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}gg(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){re(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=go(64)|0;f[A>>2]=h;om(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))$j(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 Wh(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 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,n=0,o=0,p=0,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))$j(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{ui(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(20622,20638,58,20730);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20740,20638,59,20730);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=go(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3516;n=h+12|0;f[n>>2]=3540;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]=3540;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]=3540;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;oi(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);Vg(v,x);Vg(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Jh(g,y)|0;f[y>>2]=3540;d=f[y+20>>2]|0;if(d|0)kr(d);d=f[y+8>>2]|0;if(d|0)kr(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3540;d=f[v+20>>2]|0;if(d|0)kr(d);d=f[v+8>>2]|0;if(d|0)kr(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Jh(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;Yg(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);kr(d)}f[r>>2]=3540;d=f[w+24>>2]|0;if(d|0)kr(d);d=f[w+12>>2]|0;if(d|0)kr(d);f[x>>2]=3540;d=f[x+20>>2]|0;if(d|0)kr(d);d=f[x+8>>2]|0;if(d|0)kr(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((yk(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}gg(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){re(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=go(64)|0;f[A>>2]=h;om(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))$j(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 Wh(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 Kb(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(!(um(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(!(um(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;pj(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;qj(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=go(40)|0;Kb(a,f[D+20>>2]|0);D=uc(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;Aj(D+8|0);kr(D)}while((e|0)!=0);D=k+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)kr(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;kr(g)}ep(j+8|0);kr(j)}while((e|0)!=0);e=f[k>>2]|0;f[k>>2]=0;if(e|0)kr(e);kr(k)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}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;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 Ij(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=hr(x)|0;uk(G|0,0,x|0)|0;H=hr(x)|0;uk(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){_p(i);g=f[i>>2]|0}o=f[g+(q<<2)>>2]|0;if(w)uk(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)uk(G|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){ir(H);ir(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));ir(H);ir(G);return 1}function Mb(a,b,c,d,e,g){a=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 Ij(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=hr(w)|0;uk(I|0,0,w|0)|0;J=hr(w)|0;uk(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){_p(i);g=f[i>>2]|0}m=f[g+(o<<2)>>2]|0;if(u)uk(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)uk(I|0,0,e<<2|0)|0;g=f[M>>2]|0;if((g|0)<=0){ir(J);ir(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));ir(J);ir(I);return 1}function Nb(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;Ml(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=fo(f[s>>2]|0,f[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;j=dp(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=go(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;_i(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=fo(g|0,f[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;hi((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{ui(j,h-k|0,1244);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)Fa(20140,20159,89,20254);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);kr(h)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;kr(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return m|0}kr(e);u=P;return m|0}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=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;Ml(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=fo(f[r>>2]|0,f[r+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=dp(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=go(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;ej(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=fo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;hi((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{ui(i,g-j|0,1244);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(20140,20159,89,20254);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);kr(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;kr(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}kr(d);u=O;return l|0}function Pb(a,c,d){a=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;Ml(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=fo(f[q>>2]|0,f[q+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=dp(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=go(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;bj(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=fo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;hi((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{ui(i,g-j|0,1244);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(20140,20159,89,20254);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);kr(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;kr(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}kr(d);u=O;return l|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,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{ui(I,i-j|0,6092);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;Rq(M);sa(M|0,1136,110)}else{i=go(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{ui(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){$p(J);M=Ha(4)|0;Rq(M);sa(M|0,1136,110)}g=go(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){$p(z);M=Ha(4)|0;Rq(M);sa(M|0,1136,110)}else{D=go(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;uk(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);kr(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);kr(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);kr(c)}L=1;u=M;return L|0}function Rb(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+32|0;s=A+12|0;t=A+8|0;y=A+4|0;z=A;x=a+52|0;e=f[x>>2]|0;f[y>>2]=((f[e+100>>2]|0)-(f[e+96>>2]|0)|0)/12|0;v=a+44|0;g=f[v>>2]|0;i=g+16|0;h=f[i>>2]|0;i=f[i+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[t>>2]=f[g+4>>2];f[s>>2]=f[t>>2];Zf(g,s,y,y+4|0)|0;g=f[v>>2]|0;h=g+16|0;e=f[x>>2]|0;i=f[h+4>>2]|0;h=f[h>>2]|0}f[z>>2]=f[e+80>>2];if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[t>>2]=f[g+4>>2];f[s>>2]=f[t>>2];Zf(g,s,z,z+4|0)|0}o=f[a+48>>2]|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;al(s,19060,21);o=fl(o,s,0)|0;ep(s);e=f[v>>2]|0;if(o){b[z>>0]=0;y=e+16|0;x=f[y+4>>2]|0;if(!((x|0)>0|(x|0)==0&(f[y>>2]|0)>>>0>0)){f[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,z+1|0)|0}cg(a)|0;u=A;return 1}b[z>>0]=1;o=e+16|0;m=f[o+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[o>>2]|0)>>>0>0)){f[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,z+1|0)|0}o=f[x>>2]|0;m=f[o+80>>2]|0;if((m|0)<256){if((f[y>>2]|0)<=0){u=A;return 1}a=z+1|0;k=z+1|0;l=z+1|0;e=f[o+96>>2]|0;if(((f[o+100>>2]|0)-e|0)>0){j=e;n=0}else Fa(20086,20003,64,20081);while(1){i=j;e=f[v>>2]|0;b[z>>0]=f[i+(n*12|0)>>2];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[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,l)|0;e=f[v>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[z>>0]=f[i+(n*12|0)+4>>2];if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,k)|0;e=f[v>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[z>>0]=f[i+(n*12|0)+8>>2];if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,a)|0}n=n+1|0;if((n|0)>=(f[y>>2]|0)){e=42;break}i=f[x>>2]|0;j=f[i+96>>2]|0;if((n|0)>=(((f[i+100>>2]|0)-j|0)/12|0|0)){e=14;break}}if((e|0)==14)Fa(20086,20003,64,20081);else if((e|0)==42){u=A;return 1}}g=f[y>>2]|0;h=(g|0)>0;if((m|0)>=65536){if(!h){u=A;return 1}e=f[o+96>>2]|0;if(((f[o+100>>2]|0)-e|0)>0){p=e;c=g;q=0}else Fa(20086,20003,64,20081);while(1){g=p+(q*12|0)|0;e=f[v>>2]|0;p=e+16|0;n=f[p+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[p>>2]|0)>>>0>0)){f[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,g,g+12|0)|0;c=f[y>>2]|0}q=q+1|0;if((q|0)>=(c|0)){e=42;break}n=f[x>>2]|0;p=f[n+96>>2]|0;if((q|0)>=(((f[n+100>>2]|0)-p|0)/12|0|0)){e=37;break}}if((e|0)==37)Fa(20086,20003,64,20081);else if((e|0)==42){u=A;return 1}}if(!h){u=A;return 1}i=z+2|0;a=z+2|0;j=z+2|0;c=f[o+96>>2]|0;if(((f[o+100>>2]|0)-c|0)>0){r=c;w=0}else Fa(20086,20003,64,20081);while(1){h=r;e=f[v>>2]|0;d[z>>1]=f[h+(w*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[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,j)|0;e=f[v>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[z>>1]=f[h+(w*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,a)|0;e=f[v>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[z>>1]=f[h+(w*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[t>>2]=f[e+4>>2];f[s>>2]=f[t>>2];Zf(e,s,z,i)|0}w=w+1|0;if((w|0)>=(f[y>>2]|0)){e=42;break}q=f[x>>2]|0;r=f[q+96>>2]|0;if((w|0)>=(((f[q+100>>2]|0)-r|0)/12|0|0)){e=28;break}}if((e|0)==28)Fa(20086,20003,64,20081);else if((e|0)==42){u=A;return 1}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=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;Ml(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=fo(p|0,((p|0)<0)<<31>>31|0,f[r>>2]|0,f[r+4>>2]|0)|0;k=dp(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=go(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;cj(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=fo(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;hi((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{ui(j,g-k|0,1244);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)Fa(20140,20159,89,20254);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);kr(g)}d=f[L+8>>2]|0;if(d|0)do{K=d;d=f[d>>2]|0;kr(K)}while((d|0)!=0);d=f[L>>2]|0;f[L>>2]=0;if(!d){u=M;return p|0}kr(d);u=M;return p|0}function Tb(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;Ml(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=fo(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=dp(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=go(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;$i(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=fo(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;hi((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{ui(k,i-l|0,1244);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(20140,20159,89,20254);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);kr(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;kr(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}kr(e);u=O;return q|0}function Ub(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;Ml(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=fo(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=dp(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=go(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;fj(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=fo(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;hi((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{ui(k,i-l|0,1244);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(20140,20159,89,20254);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);kr(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;kr(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}kr(e);u=O;return q|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;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=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Sb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Pb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=gc(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=jc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ub(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ob(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=jc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ub(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ob(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=hc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Tb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Nb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Zb(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=hc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Tb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Nb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Zb(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=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Sb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Pb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=gc(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=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Sb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Pb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=gc(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 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;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))$j(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];Xh(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];Xh(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];Xh(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];Xh(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))$j(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))$j(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 Xb(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=fe(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];nh(a,e)|0}pm(z,c);y=z+12|0;pm(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}}ep(y);ep(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(!(um(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){ep(y);ep(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}}ep(y);ep(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(!(um(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){ep(y);ep(z);u=A;return}}}else i=q}else i=0;while(0);nj(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;qj(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;ep(y);ep(z);u=A;return}function Yb(a,c,d){a=a|0;c=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;P=u;u=u+96|0;E=P+72|0;J=P+48|0;K=P+24|0;L=P;H=a+4|0;if(!(f[H>>2]|0))Fa(13112,13134,46,13299);G=a+8|0;if(!(f[G>>2]|0))Fa(13112,13134,46,13299);F=a+16|0;i=f[F>>2]|0;l=f[c>>2]|0;f[E>>2]=i;f[E+4>>2]=l;D=E+8|0;f[D>>2]=l;b[E+12>>0]=1;m=(l|0)<0;if(m)k=-1073741824;else k=f[(f[i>>2]|0)+(l<<2)>>2]|0;C=a+20|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){_p(i);c=f[i>>2]|0}Ih(J,a,f[c+(k<<2)>>2]|0);i=f[D>>2]|0;v=a+28|0;c=(f[v>>2]|0)==0;a:do if((i|0)>=0){z=K+8|0;w=J+8|0;B=K+16|0;x=J+16|0;y=L+8|0;A=L+16|0;s=l+1|0;t=l+(m?0:((l>>>0)%3|0|0)==0?2:-1)|0;s=m?l:((s|0)%3|0|0)==0?l+-2|0:s;r=0;q=0;l=0;o=0;m=0;p=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)){n=i+2|0;break}else{n=i+-1|0;break}}else{c=s;n=t}while(0);if(!(f[H>>2]|0)){c=17;break}if(!(f[G>>2]|0)){c=17;break}if((c|0)<0)k=-1073741824;else k=f[(f[f[F>>2]>>2]|0)+(c<<2)>>2]|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){_p(i);c=f[i>>2]|0}Ih(K,a,f[c+(k<<2)>>2]|0);if(!(f[H>>2]|0)){c=25;break}if(!(f[G>>2]|0)){c=25;break}if((n|0)<0)k=-1073741824;else k=f[(f[f[F>>2]>>2]|0)+(n<<2)>>2]|0;i=f[C>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){_p(i);c=f[i>>2]|0}Ih(L,a,f[c+(k<<2)>>2]|0);i=K;Z=J;Y=f[Z>>2]|0;Z=f[Z+4>>2]|0;i=bp(f[i>>2]|0,f[i+4>>2]|0,Y|0,Z|0)|0;c=I;Q=z;$=w;_=f[$>>2]|0;$=f[$+4>>2]|0;Q=bp(f[Q>>2]|0,f[Q+4>>2]|0,_|0,$|0)|0;R=I;U=B;S=x;T=f[S>>2]|0;S=f[S+4>>2]|0;U=bp(f[U>>2]|0,f[U+4>>2]|0,T|0,S|0)|0;V=I;n=L;Z=bp(f[n>>2]|0,f[n+4>>2]|0,Y|0,Z|0)|0;Y=I;n=y;$=bp(f[n>>2]|0,f[n+4>>2]|0,_|0,$|0)|0;_=I;n=A;S=bp(f[n>>2]|0,f[n+4>>2]|0,T|0,S|0)|0;T=I;n=fo(S|0,T|0,Q|0,R|0)|0;k=I;X=fo($|0,_|0,U|0,V|0)|0;W=I;V=fo(Z|0,Y|0,U|0,V|0)|0;U=I;T=fo(S|0,T|0,i|0,c|0)|0;S=I;c=fo($|0,_|0,i|0,c|0)|0;i=I;R=fo(Z|0,Y|0,Q|0,R|0)|0;Q=I;r=bp(r|0,q|0,X|0,W|0)|0;k=dp(r|0,I|0,n|0,k|0)|0;n=I;l=dp(V|0,U|0,l|0,o|0)|0;l=bp(l|0,I|0,T|0,S|0)|0;o=I;m=bp(m|0,p|0,R|0,Q|0)|0;m=dp(m|0,I|0,c|0,i|0)|0;p=I;pi(E);i=f[D>>2]|0;c=(f[v>>2]|0)==0;if((i|0)<0){j=n;N=k;O=o;h=l;g=p;e=m;M=c;break a}else{r=k;q=n}}if((c|0)==17)Fa(13112,13321,70,13486);else if((c|0)==25)Fa(13112,13321,70,13486)}else{j=0;N=0;O=0;h=0;g=0;e=0;M=c}while(0);$=(j|0)>-1|(j|0)==-1&N>>>0>4294967295;i=bp(0,0,N|0,j|0)|0;c=$?j:I;W=(O|0)>-1|(O|0)==-1&h>>>0>4294967295;X=bp(0,0,h|0,O|0)|0;Y=W?O:I;_=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Z=bp(0,0,e|0,g|0)|0;_=dp((W?h:X)|0,Y|0,(_?e:Z)|0,(_?g:I)|0)|0;c=dp(_|0,I|0,($?N:i)|0,c|0)|0;i=I;if(M)if((c|0)>536870912){$=Fo(c|0,i|0,29)|0;$=$&7;i=Bl(N|0,j|0,$|0,0)|0;j=I;h=Bl(h|0,O|0,$|0,0)|0;c=I;e=Bl(e|0,g|0,$|0,0)|0;g=I}else{i=N;c=O}else if((i|0)>0|(i|0)==0&c>>>0>536870912){_=Fo(c|0,i|0,29)|0;$=I;i=Bl(N|0,j|0,_|0,$|0)|0;j=I;h=Bl(h|0,O|0,_|0,$|0)|0;c=I;e=Bl(e|0,g|0,_|0,$|0)|0;g=I}else{i=N;c=O}Z=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;_=bp(0,0,i|0,j|0)|0;$=Z?j:I;U=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;V=bp(0,0,h|0,c|0)|0;W=U?c:I;Y=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;X=bp(0,0,e|0,g|0)|0;Y=dp((U?h:V)|0,W|0,(Y?e:X)|0,(Y?g:I)|0)|0;$=dp(Y|0,I|0,(Z?i:_)|0,$|0)|0;_=I;if((_|0)<0|(_|0)==0&$>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=P;return}else Fa(13507,13134,95,13299)}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=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;Ml(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=fo(w|0,((w|0)<0)<<31>>31|0,f[e>>2]|0,f[e+4>>2]|0)|0;y=dp(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=wh(S,O)|0;if(!e){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=Fo(s|0,t|0,16)|0;m=y&65535;q=t&65535;v=Fo(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=go(20)|0;v=Ao(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;Zi(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=fo(e|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;hi((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{ui(k,i-l|0,1244);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)Fa(20140,20159,89,20254);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);kr(i)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;kr(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return q|0}kr(e);u=T;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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,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;P=u;u=u+96|0;E=P+72|0;J=P+48|0;K=P+24|0;L=P;H=a+4|0;if(!(f[H>>2]|0))Fa(13112,13134,46,13299);G=a+8|0;if(!(f[G>>2]|0))Fa(13112,13134,46,13299);F=a+16|0;k=f[F>>2]|0;l=f[c>>2]|0;f[E>>2]=k;f[E+4>>2]=l;C=E+8|0;f[C>>2]=l;b[E+12>>0]=1;k=f[(f[k+28>>2]|0)+(l<<2)>>2]|0;D=a+20|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){_p(i);c=f[i>>2]|0}Ih(J,a,f[c+(k<<2)>>2]|0);i=f[C>>2]|0;v=a+28|0;c=(f[v>>2]|0)==0;a:do if((i|0)>=0){z=K+8|0;w=J+8|0;B=K+16|0;x=J+16|0;y=L+8|0;A=L+16|0;r=(l|0)<0;s=l+1|0;t=l+(r?0:((l>>>0)%3|0|0)==0?2:-1)|0;s=r?l:((s|0)%3|0|0)==0?l+-2|0:s;r=0;q=0;l=0;o=0;m=0;p=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)){n=i+2|0;break}else{n=i+-1|0;break}}else{c=s;n=t}while(0);if(!(f[H>>2]|0)){c=15;break}if(!(f[G>>2]|0)){c=15;break}k=f[(f[(f[F>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){_p(i);c=f[i>>2]|0}Ih(K,a,f[c+(k<<2)>>2]|0);if(!(f[H>>2]|0)){c=21;break}if(!(f[G>>2]|0)){c=21;break}k=f[(f[(f[F>>2]|0)+28>>2]|0)+(n<<2)>>2]|0;i=f[D>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0){_p(i);c=f[i>>2]|0}Ih(L,a,f[c+(k<<2)>>2]|0);i=K;Z=J;Y=f[Z>>2]|0;Z=f[Z+4>>2]|0;i=bp(f[i>>2]|0,f[i+4>>2]|0,Y|0,Z|0)|0;c=I;Q=z;$=w;_=f[$>>2]|0;$=f[$+4>>2]|0;Q=bp(f[Q>>2]|0,f[Q+4>>2]|0,_|0,$|0)|0;R=I;U=B;S=x;T=f[S>>2]|0;S=f[S+4>>2]|0;U=bp(f[U>>2]|0,f[U+4>>2]|0,T|0,S|0)|0;V=I;n=L;Z=bp(f[n>>2]|0,f[n+4>>2]|0,Y|0,Z|0)|0;Y=I;n=y;$=bp(f[n>>2]|0,f[n+4>>2]|0,_|0,$|0)|0;_=I;n=A;S=bp(f[n>>2]|0,f[n+4>>2]|0,T|0,S|0)|0;T=I;n=fo(S|0,T|0,Q|0,R|0)|0;k=I;X=fo($|0,_|0,U|0,V|0)|0;W=I;V=fo(Z|0,Y|0,U|0,V|0)|0;U=I;T=fo(S|0,T|0,i|0,c|0)|0;S=I;c=fo($|0,_|0,i|0,c|0)|0;i=I;R=fo(Z|0,Y|0,Q|0,R|0)|0;Q=I;r=bp(r|0,q|0,X|0,W|0)|0;k=dp(r|0,I|0,n|0,k|0)|0;n=I;l=dp(V|0,U|0,l|0,o|0)|0;l=bp(l|0,I|0,T|0,S|0)|0;o=I;m=bp(m|0,p|0,R|0,Q|0)|0;m=dp(m|0,I|0,c|0,i|0)|0;p=I;$g(E);i=f[C>>2]|0;c=(f[v>>2]|0)==0;if((i|0)<0){j=n;N=k;O=o;h=l;g=p;e=m;M=c;break a}else{r=k;q=n}}if((c|0)==15)Fa(13112,13321,70,13486);else if((c|0)==21)Fa(13112,13321,70,13486)}else{j=0;N=0;O=0;h=0;g=0;e=0;M=c}while(0);$=(j|0)>-1|(j|0)==-1&N>>>0>4294967295;i=bp(0,0,N|0,j|0)|0;c=$?j:I;W=(O|0)>-1|(O|0)==-1&h>>>0>4294967295;X=bp(0,0,h|0,O|0)|0;Y=W?O:I;_=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Z=bp(0,0,e|0,g|0)|0;_=dp((W?h:X)|0,Y|0,(_?e:Z)|0,(_?g:I)|0)|0;c=dp(_|0,I|0,($?N:i)|0,c|0)|0;i=I;if(M)if((c|0)>536870912){$=Fo(c|0,i|0,29)|0;$=$&7;i=Bl(N|0,j|0,$|0,0)|0;j=I;h=Bl(h|0,O|0,$|0,0)|0;c=I;e=Bl(e|0,g|0,$|0,0)|0;g=I}else{i=N;c=O}else if((i|0)>0|(i|0)==0&c>>>0>536870912){_=Fo(c|0,i|0,29)|0;$=I;i=Bl(N|0,j|0,_|0,$|0)|0;j=I;h=Bl(h|0,O|0,_|0,$|0)|0;c=I;e=Bl(e|0,g|0,_|0,$|0)|0;g=I}else{i=N;c=O}Z=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;_=bp(0,0,i|0,j|0)|0;$=Z?j:I;U=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;V=bp(0,0,h|0,c|0)|0;W=U?c:I;Y=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;X=bp(0,0,e|0,g|0)|0;Y=dp((U?h:V)|0,W|0,(Y?e:X)|0,(Y?g:I)|0)|0;$=dp(Y|0,I|0,(Z?i:_)|0,$|0)|0;_=I;if((_|0)<0|(_|0)==0&$>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=P;return}else Fa(13507,13134,95,13299)}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,v=0,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[a+12>>2]|0;if((d|0)<=1)Fa(11843,13927,79,11970);if((d|0)>=31)Fa(11990,13927,80,11970);f[a+76>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+84|0;f[C>>2]=D;A=a+88|0;f[A>>2]=(D|0)/2|0;D=a+44|0;f[a+52>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13112,13927,99,14085);if((e|0)!=2)Fa(14109,13927,101,14085);z=a+92|0;hm(z);x=a+40|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{_p(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];_b(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=dp(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=dp(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=fo(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=Bl(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=fo(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=Bl(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;xj(M,d,K,J);xj(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)){rk(z,0);a=J}else{rk(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(14133,13927,119,14085);else if((d|0)==35)Fa(14200,11854,99,14288);else if((d|0)==68)Fa(12732,11854,313,12766);else if((d|0)==72)Fa(12732,11854,313,12766);return 0}function ac(a,b,c,d,e,g){a=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[a+12>>2]|0;if((d|0)<=1)Fa(11843,13927,79,11970);if((d|0)>=31)Fa(11990,13927,80,11970);f[a+76>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+84|0;f[C>>2]=D;A=a+88|0;f[A>>2]=(D|0)/2|0;D=a+44|0;f[a+52>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13112,13927,99,14085);if((e|0)!=2)Fa(14109,13927,101,14085);z=a+92|0;hm(z);x=a+40|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{_p(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];Yb(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=dp(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=dp(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=fo(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=Bl(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=fo(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=Bl(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;xj(M,d,K,J);xj(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)){rk(z,0);a=J}else{rk(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(14133,13927,119,14085);else if((d|0)==35)Fa(14200,11854,99,14288);else if((d|0)==68)Fa(12732,11854,313,12766);else if((d|0)==72)Fa(12732,11854,313,12766);return 0}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,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=fe(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];nh(a,e)|0}pm(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}}ep(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(!(um(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){ep(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}}ep(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(!(um(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){ep(z);u=A;return}}}else i=r}else i=0;while(0);Ji(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;qj(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;ep(z);u=A;return}function cc(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=fe(a,c)|0;if(j|0){f[y>>2]=j;f[e>>2]=f[y>>2];nh(a,e)|0}pm(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}}ep(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(!(um(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){ep(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}}ep(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(!(um(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){ep(y);u=z;return}}}else i=q}else i=0;while(0);Kj(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;qj(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;ep(y);u=z;return}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=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;Ml(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=fo(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;d=dp(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=zh(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=go(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;dj(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=fo(d|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;hi((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{ui(j,g-k|0,1244);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)Fa(20140,20159,89,20254);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);kr(g)}d=f[R+8>>2]|0;if(d|0)do{Q=d;d=f[d>>2]|0;kr(Q)}while((d|0)!=0);d=f[R>>2]|0;f[R>>2]=0;if(!d){u=S;return p|0}kr(d);u=S;return p|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=0,l=Ka,m=Ka,o=Ka;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+16|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+24|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];o=$(n[s>>2]);i=k+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=k+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);k=k+12|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];m=$(n[s>>2]);k=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+o>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+16|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d+24|0;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}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,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 Ij(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=hr(p)|0;uk(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){_p(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)uk(D|0,0,e<<2|0)|0;g=f[F>>2]|0;if((g|0)<=0){ir(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));ir(D);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,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;Ml(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=fo(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;d=dp(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));on(L|0,d|0,16)|0;d=Hh(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=go(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;hj(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=fo(d|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;hi((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{ui(i,g-j|0,1244);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)Fa(20140,20159,89,20254);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);kr(g)}d=f[P+8>>2]|0;if(d|0)do{O=d;d=f[d>>2]|0;kr(O)}while((d|0)!=0);d=f[P>>2]|0;f[P>>2]=0;if(!d){u=Q;return l|0}kr(d);u=Q;return l|0}function hc(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;Ml(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=fo(k|0,((k|0)<0)<<31>>31|0,f[l>>2]|0,f[l+4>>2]|0)|0;m=dp(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=go(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;aj(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=fo(g|0,f[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;hi((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{ui(k,i-l|0,1244);i=f[G>>2]|0}if((i|0)>0){j=f[H>>2]|0;if(b[m>>0]|0)Fa(20140,20159,89,20254);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);kr(i)}e=f[J+8>>2]|0;if(e|0)do{H=e;e=f[e>>2]|0;kr(H)}while((e|0)!=0);e=f[J>>2]|0;f[J>>2]=0;if(!e){u=K;return q|0}kr(e);u=K;return q|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,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 Ij(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=hr(p)|0;uk(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){_p(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)uk(H|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){ir(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));ir(H);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=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;Ml(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=fo(i|0,((i|0)<0)<<31>>31|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=dp(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=go(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;gj(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=fo(e|0,f[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;hi((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{ui(i,g-j|0,1244);g=f[E>>2]|0}if((g|0)>0){h=f[F>>2]|0;if(b[k>>0]|0)Fa(20140,20159,89,20254);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);kr(g)}d=f[G+8>>2]|0;if(d|0)do{F=d;d=f[d>>2]|0;kr(F)}while((d|0)!=0);d=f[G>>2]|0;f[G>>2]=0;if(!d){u=H;return o|0}kr(d);u=H;return o|0}function kc(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;Ml(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=fo(j|0,((j|0)<0)<<31>>31|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=dp(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=go(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;Uj(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=fo(e|0,f[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;hi((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{ui(j,g-k|0,1244);g=f[F>>2]|0}if((g|0)>0){i=f[G>>2]|0;if(b[l>>0]|0)Fa(20140,20159,89,20254);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);kr(g)}d=f[H+8>>2]|0;if(d|0)do{G=d;d=f[d>>2]|0;kr(G)}while((d|0)!=0);d=f[H>>2]|0;f[H>>2]=0;if(!d){u=J;return p|0}kr(d);u=J;return p|0}function lc(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[6030]|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[6031]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[6028]=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[6026]=f[6026]&~(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=24408+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6027]=f[6027]&~(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[6031]|0;if((k|0)==(f[6032]|0)){k=(f[6029]|0)+b|0;f[6029]=k;f[6032]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[6031]=0;f[6028]=0;return}if((k|0)==(a|0)){k=(f[6028]|0)+b|0;f[6028]=k;f[6031]=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[6026]=f[6026]&~(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=24408+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[6027]=f[6027]&~(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[6031]|0)){f[6028]=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=24144+(a<<1<<2)|0;b=f[6026]|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=24408+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[6027]|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[6027]=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[6034]|0)+-1|0;f[6034]=k;if(!k)a=24560;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[6034]=-1;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,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))$j(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];Xh(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];Xh(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];Xh(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)){$j(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,b){a=a|0;b=b|0;var c=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))$j(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];Xh(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];Xh(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];Xh(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)){$j(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 oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=0,l=Ka,m=Ka;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=d+16|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];j=$(n[s>>2]);k=i+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);i=i+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];m=$(n[s>>2]);i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d+8|0;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+m)>=1.0?(+m>0.0?~~+Y(+J(+m/4294967296.0),4294967295.0)>>>0:~~+W((+m-+(~~+m>>>0))/4294967296.0)>>>0):0;k=d+16|0;f[k>>2]=~~+m>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}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,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{Ij(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)$p(v);l=((d+-1|0)>>>5)+1|0;m=go(l<<2)|0;f[v>>2]=m;f[b>>2]=l;f[c>>2]=d;b=d>>>5;uk(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)$p(s);m=((d+-1|0)>>>5)+1|0;a=go(m<<2)|0;f[s>>2]=a;f[b>>2]=m;f[c>>2]=d;b=d>>>5;uk(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{Ij(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}}Sh(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)kr(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);kr(b)}}b=f[v>>2]|0;if(!b){u=w;return c|0}kr(b);u=w;return c|0}function qc(a,c,d){a=a|0;c=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];Zf(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];Zf(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;Ml(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)yn(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,al(o,11546,34),j=fl(j,o,1)|0,ep(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];Zf(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];Zf(d,o,k,k+1|0)|0}if((a|0)==($m(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];Zf(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];Zf(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];Zf(d,o,k,k+1|0)|0}if(Qc(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);kr(i)}}q=e;u=r;return q|0}function rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=Ka,h=0,i=Ka,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+48|0;B=C+24|0;z=C+12|0;A=C;h=a+32|0;e=f[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)r=-1073741824;else r=f[(f[f[h>>2]>>2]|0)+(e<<2)>>2]|0}else{b=-1073741824;r=-1073741824}e=a+36|0;l=f[e>>2]|0;h=f[l+4>>2]|0;m=f[l>>2]|0;if(h-m>>2>>>0>b>>>0){e=m;j=h;k=l;h=m}else{_p(l);k=f[e>>2]|0;e=f[k>>2]|0;j=f[k+4>>2]|0;h=f[l>>2]|0}b=f[h+(b<<2)>>2]|0;if(j-e>>2>>>0<=r>>>0){_p(k);e=f[k>>2]|0}h=f[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(!(e&(h|0)<(d|0))){do if(!e){if((d|0)>0){b=d+-1|0;break}h=a+56|0;if((f[h>>2]|0)<=0){u=C;return}b=f[a+52>>2]|0;e=0;do{f[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[h>>2]|0));u=C;return}while(0);j=a+56|0;d=f[j>>2]|0;h=X(d,b)|0;if((d|0)<=0){u=C;return}b=f[a+52>>2]|0;e=0;do{f[b+(e<<2)>>2]=f[c+(e+h<<2)>>2];e=e+1|0}while((e|0)<(f[j>>2]|0));u=C;return}e=a+56|0;r=f[e>>2]|0;m=X(r,b)|0;w=$(f[c+(m<<2)>>2]|0);y=$(f[c+(m+1<<2)>>2]|0);r=X(r,h)|0;v=$(f[c+(r<<2)>>2]|0);x=$(f[c+(r+1<<2)>>2]|0);if(!(v!=w|x!=y)){a=f[a+52>>2]|0;f[a>>2]=~~v;f[a+4>>2]=~~x;u=C;return}mi(B,a,d);mi(z,a,b);mi(A,a,h);t=$(n[A>>2]);q=$(n[z>>2]);t=$(t-q);s=$(n[A+4>>2]);i=$(n[z+4>>2]);s=$(s-i);p=$(n[A+8>>2]);g=$(n[z+8>>2]);p=$(p-g);q=$($(n[B>>2])-q);i=$($(n[B+4>>2])-i);g=$($(n[B+8>>2])-g);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){D=$($($($($(t*q)+$(0.0))+$(s*i))+$(p*g))/o);t=$(q-$(t*D));s=$(i-$(s*D));g=$(g-$(p*D));i=D;g=$(L($($($(g*g)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{i=$(0.0);g=$(0.0)}p=$(v-w);o=$(x-y);D=$(w+$(p*i));p=$(p*g);y=$(y+$(o*i));i=$(o*g);o=$(D-i);g=$(y+p);i=$(D+i);p=$(y-p);l=X(f[e>>2]|0,d)|0;y=$(f[c+(l<<2)>>2]|0);D=$(f[c+(l+1<<2)>>2]|0);w=$(y-o);x=$(D-g);y=$(y-i);D=$(D-p);c=$($($(w*w)+$(0.0))+$(x*x))<$($($(y*y)+$(0.0))+$(D*D));l=a+60|0;k=a+64|0;b=f[k>>2]|0;h=a+68|0;e=f[h>>2]|0;j=(b|0)==(e<<5|0);if(c){if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);i=o}else{if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]&~(1<<(b&31));g=p}c=~~+J(+(+i+.5));a=f[a+52>>2]|0;f[a>>2]=c;c=~~+J(+(+g+.5));f[a+4>>2]=c;u=C;return}function sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=Ka,h=0,i=Ka,j=0,k=0,l=0,m=Ka,o=Ka,p=Ka,q=0,r=0,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+48|0;B=C+24|0;z=C+12|0;A=C;h=a+32|0;e=f[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else b=e;while(0);r=f[(f[h>>2]|0)+28>>2]|0;q=f[r+(b<<2)>>2]|0;r=f[r+(e<<2)>>2]|0;e=a+36|0;h=f[e>>2]|0;b=f[h+4>>2]|0;l=f[h>>2]|0;if(b-l>>2>>>0>q>>>0){j=b;k=h;b=l;e=l}else{_p(h);e=f[e>>2]|0;j=f[e+4>>2]|0;k=e;b=f[h>>2]|0;e=f[e>>2]|0}b=f[b+(q<<2)>>2]|0;if(j-e>>2>>>0<=r>>>0){_p(k);e=f[k>>2]|0}h=f[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(!(e&(h|0)<(d|0))){do if(!e){if((d|0)>0){b=d+-1|0;break}h=a+56|0;if((f[h>>2]|0)<=0){u=C;return}b=f[a+52>>2]|0;e=0;do{f[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[h>>2]|0));u=C;return}while(0);j=a+56|0;d=f[j>>2]|0;h=X(d,b)|0;if((d|0)<=0){u=C;return}b=f[a+52>>2]|0;e=0;do{f[b+(e<<2)>>2]=f[c+(e+h<<2)>>2];e=e+1|0}while((e|0)<(f[j>>2]|0));u=C;return}e=a+56|0;r=f[e>>2]|0;q=X(r,b)|0;w=$(f[c+(q<<2)>>2]|0);y=$(f[c+(q+1<<2)>>2]|0);r=X(r,h)|0;v=$(f[c+(r<<2)>>2]|0);x=$(f[c+(r+1<<2)>>2]|0);if(!(v!=w|x!=y)){a=f[a+52>>2]|0;f[a>>2]=~~v;f[a+4>>2]=~~x;u=C;return}mi(B,a,d);mi(z,a,b);mi(A,a,h);t=$(n[A>>2]);p=$(n[z>>2]);t=$(t-p);s=$(n[A+4>>2]);i=$(n[z+4>>2]);s=$(s-i);o=$(n[A+8>>2]);g=$(n[z+8>>2]);o=$(o-g);p=$($(n[B>>2])-p);i=$($(n[B+4>>2])-i);g=$($(n[B+8>>2])-g);m=$($($($(t*t)+$(0.0))+$(s*s))+$(o*o));if(m>$(0.0)){D=$($($($($(t*p)+$(0.0))+$(s*i))+$(o*g))/m);t=$(p-$(t*D));s=$(i-$(s*D));g=$(g-$(o*D));i=D;g=$(L($($($(g*g)+$($(s*s)+$($(t*t)+$(0.0))))/m)))}else{i=$(0.0);g=$(0.0)}o=$(v-w);m=$(x-y);D=$(w+$(o*i));o=$(o*g);y=$(y+$(m*i));i=$(m*g);m=$(D-i);g=$(y+o);i=$(D+i);o=$(y-o);l=X(f[e>>2]|0,d)|0;y=$(f[c+(l<<2)>>2]|0);D=$(f[c+(l+1<<2)>>2]|0);w=$(y-m);x=$(D-g);y=$(y-i);D=$(D-o);c=$($($(w*w)+$(0.0))+$(x*x))<$($($(y*y)+$(0.0))+$(D*D));l=a+60|0;k=a+64|0;b=f[k>>2]|0;h=a+68|0;e=f[h>>2]|0;j=(b|0)==(e<<5|0);if(c){if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);i=m}else{if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]&~(1<<(b&31));g=o}c=~~+J(+(+i+.5));a=f[a+52>>2]|0;f[a>>2]=c;c=~~+J(+(+g+.5));f[a+4>>2]=c;u=C;return}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=Ka,h=0,i=Ka,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+48|0;B=C+24|0;z=C+12|0;A=C;h=a+48|0;e=f[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((e|0)<0)r=-1073741824;else r=f[(f[f[h>>2]>>2]|0)+(e<<2)>>2]|0}else{b=-1073741824;r=-1073741824}e=a+52|0;l=f[e>>2]|0;h=f[l+4>>2]|0;m=f[l>>2]|0;if(h-m>>2>>>0>b>>>0){e=m;j=h;k=l;h=m}else{_p(l);k=f[e>>2]|0;e=f[k>>2]|0;j=f[k+4>>2]|0;h=f[l>>2]|0}b=f[h+(b<<2)>>2]|0;if(j-e>>2>>>0<=r>>>0){_p(k);e=f[k>>2]|0}h=f[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(!(e&(h|0)<(d|0))){do if(!e){if((d|0)>0){b=d+-1|0;break}h=a+72|0;if((f[h>>2]|0)<=0){u=C;return}b=f[a+68>>2]|0;e=0;do{f[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[h>>2]|0));u=C;return}while(0);j=a+72|0;d=f[j>>2]|0;h=X(d,b)|0;if((d|0)<=0){u=C;return}b=f[a+68>>2]|0;e=0;do{f[b+(e<<2)>>2]=f[c+(e+h<<2)>>2];e=e+1|0}while((e|0)<(f[j>>2]|0));u=C;return}e=a+72|0;r=f[e>>2]|0;m=X(r,b)|0;w=$(f[c+(m<<2)>>2]|0);y=$(f[c+(m+1<<2)>>2]|0);r=X(r,h)|0;v=$(f[c+(r<<2)>>2]|0);x=$(f[c+(r+1<<2)>>2]|0);if(!(v!=w|x!=y)){a=f[a+68>>2]|0;f[a>>2]=~~v;f[a+4>>2]=~~x;u=C;return}qi(B,a,d);qi(z,a,b);qi(A,a,h);t=$(n[A>>2]);q=$(n[z>>2]);t=$(t-q);s=$(n[A+4>>2]);i=$(n[z+4>>2]);s=$(s-i);p=$(n[A+8>>2]);g=$(n[z+8>>2]);p=$(p-g);q=$($(n[B>>2])-q);i=$($(n[B+4>>2])-i);g=$($(n[B+8>>2])-g);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){D=$($($($($(t*q)+$(0.0))+$(s*i))+$(p*g))/o);t=$(q-$(t*D));s=$(i-$(s*D));g=$(g-$(p*D));i=D;g=$(L($($($(g*g)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{i=$(0.0);g=$(0.0)}p=$(v-w);o=$(x-y);D=$(w+$(p*i));p=$(p*g);y=$(y+$(o*i));i=$(o*g);o=$(D-i);g=$(y+p);i=$(D+i);p=$(y-p);l=X(f[e>>2]|0,d)|0;y=$(f[c+(l<<2)>>2]|0);D=$(f[c+(l+1<<2)>>2]|0);w=$(y-o);x=$(D-g);y=$(y-i);D=$(D-p);c=$($($(w*w)+$(0.0))+$(x*x))<$($($(y*y)+$(0.0))+$(D*D));l=a+76|0;k=a+80|0;b=f[k>>2]|0;h=a+84|0;e=f[h>>2]|0;j=(b|0)==(e<<5|0);if(c){if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);i=o}else{if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]&~(1<<(b&31));g=p}c=~~+J(+(+i+.5));a=f[a+68>>2]|0;f[a>>2]=c;c=~~+J(+(+g+.5));f[a+4>>2]=c;u=C;return}function uc(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(!(um(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(!(um(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=go(24)|0;pm(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;qj(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 vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=Ka,h=0,i=Ka,j=0,k=0,l=0,m=Ka,o=Ka,p=Ka,q=0,r=0,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=Ka,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+48|0;B=C+24|0;z=C+12|0;A=C;h=a+48|0;e=f[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else b=e;while(0);r=f[(f[h>>2]|0)+28>>2]|0;q=f[r+(b<<2)>>2]|0;r=f[r+(e<<2)>>2]|0;e=a+52|0;h=f[e>>2]|0;b=f[h+4>>2]|0;l=f[h>>2]|0;if(b-l>>2>>>0>q>>>0){j=b;k=h;b=l;e=l}else{_p(h);e=f[e>>2]|0;j=f[e+4>>2]|0;k=e;b=f[h>>2]|0;e=f[e>>2]|0}b=f[b+(q<<2)>>2]|0;if(j-e>>2>>>0<=r>>>0){_p(k);e=f[k>>2]|0}h=f[e+(r<<2)>>2]|0;e=(b|0)<(d|0);if(!(e&(h|0)<(d|0))){do if(!e){if((d|0)>0){b=d+-1|0;break}h=a+72|0;if((f[h>>2]|0)<=0){u=C;return}b=f[a+68>>2]|0;e=0;do{f[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(f[h>>2]|0));u=C;return}while(0);j=a+72|0;d=f[j>>2]|0;h=X(d,b)|0;if((d|0)<=0){u=C;return}b=f[a+68>>2]|0;e=0;do{f[b+(e<<2)>>2]=f[c+(e+h<<2)>>2];e=e+1|0}while((e|0)<(f[j>>2]|0));u=C;return}e=a+72|0;r=f[e>>2]|0;q=X(r,b)|0;w=$(f[c+(q<<2)>>2]|0);y=$(f[c+(q+1<<2)>>2]|0);r=X(r,h)|0;v=$(f[c+(r<<2)>>2]|0);x=$(f[c+(r+1<<2)>>2]|0);if(!(v!=w|x!=y)){a=f[a+68>>2]|0;f[a>>2]=~~v;f[a+4>>2]=~~x;u=C;return}qi(B,a,d);qi(z,a,b);qi(A,a,h);t=$(n[A>>2]);p=$(n[z>>2]);t=$(t-p);s=$(n[A+4>>2]);i=$(n[z+4>>2]);s=$(s-i);o=$(n[A+8>>2]);g=$(n[z+8>>2]);o=$(o-g);p=$($(n[B>>2])-p);i=$($(n[B+4>>2])-i);g=$($(n[B+8>>2])-g);m=$($($($(t*t)+$(0.0))+$(s*s))+$(o*o));if(m>$(0.0)){D=$($($($($(t*p)+$(0.0))+$(s*i))+$(o*g))/m);t=$(p-$(t*D));s=$(i-$(s*D));g=$(g-$(o*D));i=D;g=$(L($($($(g*g)+$($(s*s)+$($(t*t)+$(0.0))))/m)))}else{i=$(0.0);g=$(0.0)}o=$(v-w);m=$(x-y);D=$(w+$(o*i));o=$(o*g);y=$(y+$(m*i));i=$(m*g);m=$(D-i);g=$(y+o);i=$(D+i);o=$(y-o);l=X(f[e>>2]|0,d)|0;y=$(f[c+(l<<2)>>2]|0);D=$(f[c+(l+1<<2)>>2]|0);w=$(y-m);x=$(D-g);y=$(y-i);D=$(D-o);c=$($($(w*w)+$(0.0))+$(x*x))<$($($(y*y)+$(0.0))+$(D*D));l=a+76|0;k=a+80|0;b=f[k>>2]|0;h=a+84|0;e=f[h>>2]|0;j=(b|0)==(e<<5|0);if(c){if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);i=m}else{if(j){if((b+1|0)<0){$p(l);e=f[h>>2]|0}c=e<<6;b=b+32&-32;Fj(l,e<<5>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=f[k>>2]|0}f[k>>2]=b+1;c=(f[l>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]&~(1<<(b&31));g=o}c=~~+J(+(+i+.5));a=f[a+68>>2]|0;f[a>>2]=c;c=~~+J(+(+g+.5));f[a+4>>2]=c;u=C;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,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 $j(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))$j(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 $j(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){$j(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(20086,20003,64,20081);else if((C|0)==33)Fa(20086,20003,64,20081)}function xc(a,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(!(ck(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=Uk(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(19978,20003,63,20081);else if((d|0)==19)Fa(20086,20003,64,20081);else if((d|0)==21)Fa(19978,20003,63,20081);else if((d|0)==23)Fa(20086,20003,64,20081)}while(0);if((c|0)!=0&(e|0)!=0){wc(a,c,e);C=1;u=B;return C|0}else{Kc(a,0,0);C=1;u=B;return C|0}return 0}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,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];Ic(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}ag(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}Mk(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){ki(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}ag(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 zc(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;y=E+104|0;x=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;k=r+4|0;j=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[x>>2]=c;f[y>>2]=f[x>>2];Dg(m,y,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[x>>2]=c;f[y>>2]=f[x>>2];Dg(m,y,r)|0;F=$(K($(n[k>>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[x>>2]=c;f[y>>2]=f[x>>2];Dg(m,y,q)|0;F=$(K($(n[j>>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;iq(A);sp(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[x>>2]=h;f[y>>2]=f[x>>2];Dg(d,y,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[x>>2]=h;f[y>>2]=f[x>>2];Dg(d,y,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[x>>2]=h;f[y>>2]=f[x>>2];Dg(d,y,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))Ei(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 Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}g=c+e|0;b[s>>0]=b[g>>0];b[s+1>>0]=b[g+1>>0];b[s+2>>0]=b[g+2>>0];b[s+3>>0]=b[g+3>>0];j=$(n[s>>2]);g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=g;i=d+8|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{k=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;k=I;i=f[a>>2]|0;c=f[i>>2]|0;if((k|0)>0|((k|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}i=c+e|0;g=i;i=i+4|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;j=(f[s>>2]=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,$(n[s>>2]));g=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d;f[k>>2]=~~+j>>>0;f[k+4>>2]=g;j=(f[s>>2]=i,$(n[s>>2]));i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);k=k+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];j=$(n[s>>2]);k=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+l>>>0;f[i+4>>2]=k;i=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+j>>>0;f[k+4>>2]=i;k=1;return k|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;k=a+40|0;e=dp(fo(f[k>>2]|0,f[k+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;k=f[a>>2]|0;c=f[k>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[k+4>>2]|0)-c|0)>>>0:0)){k=0;return k|0}k=c+e|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];j=$(n[s>>2]);k=k+4|0;b[s>>0]=b[k>>0];b[s+1>>0]=b[k+1>>0];b[s+2>>0]=b[k+2>>0];b[s+3>>0]=b[k+3>>0];l=$(n[s>>2]);k=+K(+j)>=1.0?(+j>0.0?~~+Y(+J(+j/4294967296.0),4294967295.0)>>>0:~~+W((+j-+(~~+j>>>0))/4294967296.0)>>>0):0;i=d;f[i>>2]=~~+j>>>0;f[i+4>>2]=k;i=+K(+l)>=1.0?(+l>0.0?~~+Y(+J(+l/4294967296.0),4294967295.0)>>>0:~~+W((+l-+(~~+l>>>0))/4294967296.0)>>>0):0;k=d+8|0;f[k>>2]=~~+l>>>0;f[k+4>>2]=i;k=1;return k|0}default:{k=0;return k|0}}return 0}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=go(60)|0;f[b>>2]=1568;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];Rk(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]=2044;e=b;f[a>>2]=e;return}case 2:{b=go(60)|0;f[b>>2]=1568;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];Rk(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]=2100;e=b;f[a>>2]=e;return}case 4:{b=go(112)|0;f[b>>2]=1568;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];Rk(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]=2156;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=go(88)|0;f[b>>2]=1568;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];Rk(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]=2212;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=go(104)|0;f[b>>2]=1568;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];Rk(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]=2268;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=go(140)|0;f[b>>2]=1568;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];Rk(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]=2324;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]=2380;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;io(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Cc(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=go(60)|0;f[b>>2]=1568;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];Rk(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]=1680;e=b;f[a>>2]=e;return}case 2:{b=go(60)|0;f[b>>2]=1568;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];Rk(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]=1736;e=b;f[a>>2]=e;return}case 4:{b=go(112)|0;f[b>>2]=1568;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];Rk(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]=1792;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=go(88)|0;f[b>>2]=1568;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];Rk(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]=1848;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=go(104)|0;f[b>>2]=1568;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];Rk(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]=1904;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=go(140)|0;f[b>>2]=1568;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];Rk(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]=1960;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]=2016;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;io(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Dc(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{on(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;Rq(o);sa(o|0,1136,110)}g=go(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){kr(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;Rq(o);sa(o|0,1136,110)}d=go(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=go(4080)|0;f[j>>2]=e;Zh(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;Uh(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)kr(d);u=o;return}if((c|0)!=(b|0)){n=go(4080)|0;f[k>>2]=n;Zh(a,k);u=o;return}j=go(4080)|0;f[k>>2]=j;Uh(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{on(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;Rq(o);sa(o|0,1136,110)}g=go(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){kr(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Ec(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;uk(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=dp(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)}qo(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;kd(D,l,32,g)|0;z=D+16|0;z=Ao(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=dp(z|0,I|0,39,0)|0;z=Fo(z|0,I|0,3)|0;z=dp(z|0,I|0,8,0)|0;x=dp(z|0,I|0,x|0,0)|0;Em(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;Sj(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(19504,19519,88,19607);else if((i|0)==22)Fa(19615,19519,89,19607)}while(0);Nh(D,g);Yi(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];Zf(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);kr(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)kr(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;kr(i);u=F;return 1}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=Ka,o=Ka;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;j=d+8|0;f[j>>2]=0;f[j+4>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~m;f[d+4>>2]=~~l;f[d+8>>2]=~~k;f[d+12>>2]=0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];o=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];k=$(n[s>>2]);i=j+8|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+12|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);f[d>>2]=~~o;f[d+4>>2]=~~k;f[d+8>>2]=~~l;f[d+12>>2]=~~m;j=1;return j|0}default:{j=0;return j|0}}return 0}function Gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=Ka,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,4,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);i=$(e*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}c=g+c|0;l=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c>>>0)}else{e=$(e*$(2.32830644e-10));n[d>>2]=e;e=$($(c>>>0)*$(2.32830644e-10))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,12,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c>>>0);e=$(g>>>0)}else{i=$(e*$(2.32830644e-10));n[d>>2]=i;i=$($(c>>>0)*$(2.32830644e-10));e=$($(g>>>0)*$(2.32830644e-10))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,16,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=l+12|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$((h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c>>>0);n[d+4>>2]=i;i=$(g>>>0);n[d+8>>2]=i;i=$(j>>>0);n[d+12>>2]=i;l=1;return l|0}else{i=$(e*$(2.32830644e-10));n[d>>2]=i;i=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=i;i=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=i;i=$($(j>>>0)*$(2.32830644e-10));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=Ka,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,4,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);i=$(e*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}c=g+c|0;l=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c|0)}else{e=$(e*$(4.65661287e-10));n[d>>2]=e;e=$($(c|0)*$(4.65661287e-10))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,12,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c|0);e=$(g|0)}else{i=$(e*$(4.65661287e-10));n[d>>2]=i;i=$($(c|0)*$(4.65661287e-10));e=$($(g|0)*$(4.65661287e-10))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,16,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=l+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=l+12|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;e=$(h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c|0);n[d+4>>2]=i;i=$(g|0);n[d+8>>2]=i;i=$(j|0);n[d+12>>2]=i;l=1;return l|0}else{i=$(e*$(4.65661287e-10));n[d>>2]=i;i=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=i;i=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=i;i=$($(j|0)*$(4.65661287e-10));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}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,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;dn(i,h+16|0)|0;dn(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=um(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}ag(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}Gk(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){Mg(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 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,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+32|0;s=y;t=y+24|0;p=y+28|0;w=y+12|0;q=y+8|0;v=f[a>>2]|0;x=v+8|0;d=f[v>>2]|0;v=f[v+4>>2]|0;x=dp(d|0,v|0,f[x>>2]|0,f[x+4>>2]|0)|0;n=I;n=dp((x|0)==0&(n|0)==0&1|0,0,x|0,n|0)|0;n=~~((+(d>>>0)+4294967296.0*+(v>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=n>>>0<255?n:255;b[p>>0]=((n|0)==0&1)+n;n=a+12|0;v=a+16|0;d=((f[v>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[w>>2]=0;x=w+4|0;f[x>>2]=0;f[w+8>>2]=0;if(!d)o=0;else{if((d|0)<0)$p(w);e=go(d)|0;f[x>>2]=e;f[w>>2]=e;f[w+8>>2]=e+d;do{b[e>>0]=0;e=(f[x>>2]|0)+1|0;f[x>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[w>>2]|0}r=a+28|0;e=(f[r>>2]|0)+-1|0;if((e|0)>-1){k=a+24|0;d=4096;h=0;do{g=b[p>>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}fo(f[4044+(g<<3)>>2]|0,0,d|0,0)|0;d=d+(j?0:i&255)+(X((I+d|0)>>>(f[4044+(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[v>>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[p>>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}fo(f[4044+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[4044+(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(19808,19838,132,19915);if(g>>>0>=1048576)Fa(19929,19838,133,19915);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;h=g+h|0;d=c+16|0;g=d;e=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&e>>>0>0)){f[t>>2]=f[c+4>>2];f[s>>2]=f[t>>2];Zf(c,s,p,p+1|0)|0;e=d;g=f[e+4>>2]|0;e=f[e>>2]|0}f[q>>2]=h;if(!((g|0)>0|(g|0)==0&e>>>0>0)){f[t>>2]=f[c+4>>2];f[s>>2]=f[t>>2];Zf(c,s,q,q+4|0)|0;e=d;g=f[e+4>>2]|0;e=f[e>>2]|0}d=f[w>>2]|0;if(!((g|0)>0|(g|0)==0&e>>>0>0)){f[t>>2]=f[c+4>>2];f[s>>2]=f[t>>2];Zf(c,s,d,d+h|0)|0}d=s;f[d>>2]=0;f[d+4>>2]=0;lg(a,2,s);d=f[a+12>>2]|0;e=f[v>>2]|0;if((e|0)!=(d|0))f[v>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[r>>2]=0;d=f[w>>2]|0;if(!d){u=y;return}if((f[x>>2]|0)!=(d|0))f[x>>2]=d;kr(d);u=y;return}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,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))$j(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))$j(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))$j(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){$j(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 Lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);e=$(l*$(2.32830644e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c>>>0)}else{e=$(e*$(2.32830644e-10));n[d>>2]=e;e=$($(c>>>0)*$(2.32830644e-10))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c>>>0);n[d+4>>2]=l;l=$(g>>>0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;l=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$((h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24)>>>0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c>>>0);n[d+4>>2]=l;l=$(g>>>0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(2.32830644e-10));n[d>>2]=l;l=$($(c>>>0)*$(2.32830644e-10));n[d+4>>2]=l;l=$($(g>>>0)*$(2.32830644e-10));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=0,j=0,k=0,l=Ka;switch(b[a+24>>0]|0){case 1:{k=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;i=a+40|0;c=dp(fo(f[i>>2]|0,f[i+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,4,0)|0;k=I;i=f[a>>2]|0;g=f[i>>2]|0;if((k|0)>0|((k|0)==0?j>>>0>((f[i+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;l=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);e=$(l*$(4.65661287e-10));n[d>>2]=(b[a+32>>0]|0)==0?l:e;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;k=1;return k|0}case 2:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,8,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}c=g+c|0;k=c;c=c+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c|0)}else{e=$(e*$(4.65661287e-10));n[d>>2]=e;e=$($(c|0)*$(4.65661287e-10))}n[d+4>>2]=e;n[d+8>>2]=$(0.0);k=1;return k|0}case 3:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,12,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c|0);n[d+4>>2]=l;l=$(g|0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;l=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=l;k=1;return k|0}}case 4:{i=f[c>>2]|0;c=a+48|0;j=f[c>>2]|0;c=f[c+4>>2]|0;k=a+40|0;c=dp(fo(f[k>>2]|0,f[k+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,j|0,c|0)|0;j=dp(c|0,I|0,16,0)|0;i=I;k=f[a>>2]|0;g=f[k>>2]|0;if((i|0)>0|((i|0)==0?j>>>0>((f[k+4>>2]|0)-g|0)>>>0:0)){k=0;return k|0}k=g+c|0;c=k+4|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;g=k+8|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=$(h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24|0);if(!(b[a+32>>0]|0)){n[d>>2]=e;l=$(c|0);n[d+4>>2]=l;l=$(g|0);n[d+8>>2]=l;k=1;return k|0}else{l=$(e*$(4.65661287e-10));n[d>>2]=l;l=$($(c|0)*$(4.65661287e-10));n[d+4>>2]=l;l=$($(g|0)*$(4.65661287e-10));n[d+8>>2]=l;k=1;return k|0}}default:{k=0;return k|0}}return 0}function Nc(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=Ka;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2])>>>0;f[d>>2]=i;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]))>>>0;f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]))>>>0;f[d+4>>2]=j;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~m>>>0;f[d+4>>2]=~~l>>>0;f[d+8>>2]=~~k>>>0;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);f[d>>2]=~~k>>>0;f[d+4>>2]=~~l>>>0;f[d+8>>2]=~~m>>>0;j=1;return j|0}default:{j=0;return j|0}}return 0}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,i=Ka,j=0,k=0,l=0;switch(b[a+24>>0]|0){case 1:{l=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;j=a+40|0;c=dp(fo(f[j>>2]|0,f[j+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,2,0)|0;l=I;j=f[a>>2]|0;g=f[j>>2]|0;if((l|0)>0|((l|0)==0?k>>>0>((f[j+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;e=$((h[l>>0]|h[l+1>>0]<<8)<<16>>16);i=$(e/$(32767.0));n[d>>2]=(b[a+32>>0]|0)==0?e:i;l=d+4|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;l=1;return l|0}case 2:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,4,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;c=l>>>16&65535;e=$((l&65535)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;e=$(c<<16>>16)}else{e=$(e/$(32767.0));n[d>>2]=e;e=$($(c<<16>>16)/$(32767.0))}n[d+4>>2]=e;l=d+8|0;f[l>>2]=0;f[l+4>>2]=0;l=1;return l|0}case 3:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,6,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}l=g+c|0;c=l+2|0;c=h[c>>0]|h[c+1>>0]<<8;g=l+4|0;g=h[g>>0]|h[g+1>>0]<<8;e=$((h[l>>0]|h[l+1>>0]<<8)<<16>>16);if(!(b[a+32>>0]|0)){n[d>>2]=e;i=$(c<<16>>16);e=$(g<<16>>16)}else{i=$(e/$(32767.0));n[d>>2]=i;i=$($(c<<16>>16)/$(32767.0));e=$($(g<<16>>16)/$(32767.0))}n[d+4>>2]=i;n[d+8>>2]=e;n[d+12>>2]=$(0.0);l=1;return l|0}case 4:{j=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=dp(fo(f[l>>2]|0,f[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0;k=dp(c|0,I|0,8,0)|0;j=I;l=f[a>>2]|0;g=f[l>>2]|0;if((j|0)>0|((j|0)==0?k>>>0>((f[l+4>>2]|0)-g|0)>>>0:0)){l=0;return l|0}j=g+c|0;k=j;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;l=(b[a+32>>0]|0)==0;c=(Fo(k|0,j|0,16)|0)&65535;g=j&65535;a=(Fo(k|0,j|0,48)|0)&65535;e=$((k&65535)<<16>>16);if(l){n[d>>2]=e;i=$(c<<16>>16);n[d+4>>2]=i;i=$(g<<16>>16);n[d+8>>2]=i;i=$(a<<16>>16);n[d+12>>2]=i;l=1;return l|0}else{i=$(e/$(32767.0));n[d>>2]=i;i=$($(c<<16>>16)/$(32767.0));n[d+4>>2]=i;i=$($(g<<16>>16)/$(32767.0));n[d+8>>2]=i;i=$($(a<<16>>16)/$(32767.0));n[d+12>>2]=i;l=1;return l|0}}default:{l=0;return l|0}}return 0}function Pc(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=Ka;switch(b[a+24>>0]|0){case 1:{i=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=a+40|0;e=dp(fo(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,4,0)|0;i=I;a=f[a>>2]|0;c=f[a>>2]|0;if((i|0)>0|((i|0)==0?g>>>0>((f[a+4>>2]|0)-c|0)>>>0:0)){i=0;return i|0}i=c+e|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];i=~~$(n[s>>2]);f[d>>2]=i;i=d+4|0;f[i>>2]=0;f[i+4>>2]=0;i=1;return i|0}case 2:{j=f[c>>2]|0;e=a+48|0;g=f[e>>2]|0;e=f[e+4>>2]|0;i=a+40|0;e=dp(fo(f[i>>2]|0,f[i+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,I|0,g|0,e|0)|0;g=dp(e|0,I|0,8,0)|0;j=I;i=f[a>>2]|0;c=f[i>>2]|0;if((j|0)>0|((j|0)==0?g>>>0>((f[i+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;i=j;j=j+4|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=~~(f[s>>2]=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,$(n[s>>2]));f[d>>2]=i;j=~~(f[s>>2]=j,$(n[s>>2]));f[d+4>>2]=j;f[d+8>>2]=0;j=1;return j|0}case 3:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,12,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);f[d>>2]=~~m;f[d+4>>2]=~~l;f[d+8>>2]=~~k;j=1;return j|0}case 4:{g=f[c>>2]|0;e=a+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;j=a+40|0;e=dp(fo(f[j>>2]|0,f[j+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,I|0,i|0,e|0)|0;i=dp(e|0,I|0,16,0)|0;g=I;j=f[a>>2]|0;c=f[j>>2]|0;if((g|0)>0|((g|0)==0?i>>>0>((f[j+4>>2]|0)-c|0)>>>0:0)){j=0;return j|0}j=c+e|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];k=$(n[s>>2]);i=j+4|0;b[s>>0]=b[i>>0];b[s+1>>0]=b[i+1>>0];b[s+2>>0]=b[i+2>>0];b[s+3>>0]=b[i+3>>0];l=$(n[s>>2]);j=j+8|0;b[s>>0]=b[j>>0];b[s+1>>0]=b[j+1>>0];b[s+2>>0]=b[j+2>>0];b[s+3>>0]=b[j+3>>0];m=$(n[s>>2]);f[d>>2]=~~k;f[d+4>>2]=~~l;f[d+8>>2]=~~m;j=1;return j|0}default:{j=0;return j|0}}return 0}function Qc(a,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;Rq(t);sa(t|0,1136,110)}k=go(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 $j(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 $j(r,o);d=d+m|0;if((d|0)>=(c|0))break a;i=f[p>>2]|0}}while(0);Rk(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=dp(f[j+(h<<2)>>2]|0,0,g|0,d|0)|0;d=I;h=h+1|0}while(h>>>0>>0)}v=Kh(j,i,32,o)|0;j=I;i=f[o>>2]<<3;i=Ao(i|0,((i|0)<0)<<31>>31|0,1)|0;h=I;d=fo(g|0,d|0,m|0,0)|0;d=dp(v|0,j|0,d|0,I|0)|0;h=dp(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);kr(d)}v=f[p>>2]|0;k=Kh(a,c,v,o)|0;j=f[o>>2]|0;l=((v-j|0)/64|0)+j<<3;j=j<<3;k=dp(j|0,((j|0)<0)<<31>>31|0,k|0,I|0)|0;l=dp(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];Zf(e,o,q,q+1|0)|0}h=Ec(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];Zf(e,o,q,q+1|0)|0}h=rd(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);kr(d)}v=h;u=t;return v|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[6026]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=24144+(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[6026]=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[6028]|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=24144+(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[6031]|0;b=l>>>3;c=24144+(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[6028]=g;f[6031]=e;w=h;u=x;return w|0}i=f[6027]|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[24408+((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=24408+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[6027]=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[6031]|0;b=l>>>3;c=24144+(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[6028]=j;f[6031]=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[6027]|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[24408+(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[24408+((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[6028]|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=24408+(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=24144+(b<<1<<2)|0;a=f[6026]|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=24408+(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[6028]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[6031]|0;if(a>>>0>15){w=b+m|0;f[6031]=w;f[6028]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[6028]=0;f[6031]=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[6029]|0;if(h>>>0>m>>>0){t=h-m|0;f[6029]=t;w=f[6032]|0;v=w+m|0;f[6032]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6144]|0)){f[6146]=4096;f[6145]=4096;f[6147]=-1;f[6148]=-1;f[6149]=0;f[6137]=0;a=n&-16^1431655768;f[n>>2]=a;f[6144]=a;a=4096}else a=f[6146]|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[6136]|0;if(a|0?(l=f[6134]|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[6137]&4)){c=f[6032]|0;c:do if(c){e=24552;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=Gm(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=Gm(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6145]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6134]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6136]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=Gm(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[6146]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((Gm(a|0)|0)==(-1|0)){Gm(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6137]=f[6137]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=Gm(k|0)|0,q=Gm(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[6134]|0)+g|0;f[6134]=b;if(b>>>0>(f[6135]|0)>>>0)f[6135]=b;j=f[6032]|0;do if(j){e=24552;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[6029]|0)+(g-w)|0;f[6032]=v;f[6029]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6033]=f[6148];break}if(h>>>0<(f[6030]|0)>>>0)f[6030]=h;c=h+g|0;a=24552;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[6031]|0)){w=(f[6028]|0)+i|0;f[6028]=w;f[6031]=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[6026]=f[6026]&~(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=24408+(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[6027]=f[6027]&~(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=24144+(b<<1<<2)|0;a=f[6026]|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=24408+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[6027]|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[6029]|0)+i|0;f[6029]=w;f[6032]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24552;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[6032]=v;f[6029]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[6033]=f[6148];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6138];f[b+4>>2]=f[6139];f[b+8>>2]=f[6140];f[b+12>>2]=f[6141];f[6138]=h;f[6139]=g;f[6141]=0;f[6140]=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=24144+(b<<1<<2)|0;a=f[6026]|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=24408+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[6027]|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[6030]|0;if((w|0)==0|h>>>0>>0)f[6030]=h;f[6138]=h;f[6139]=g;f[6141]=0;f[6035]=f[6144];f[6034]=-1;b=0;do{w=24144+(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[6032]=v;f[6029]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[6033]=f[6148]}while(0);b=f[6029]|0;if(b>>>0>m>>>0){t=b-m|0;f[6029]=t;w=f[6032]|0;v=w+m|0;f[6032]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=ar()|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=(Im(6868,7060,c,b)|0)-6868>>2;a=e;e=0;a:while(1){b=(f[6868+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6676+(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=Im(6676,6868,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 Ij(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{Ij(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 Ij(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 Ij(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 Ij(l,g-m|0);Ml(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){_p(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;Pg(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;uk($|0,1,o|0)|0;uk($|0,0,w|0)|0;c:while(1){if(H){uk(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];Ig(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;Fj(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){$p(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;Fj(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);kr(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);kr(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);kr(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);kr(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);kr(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);kr(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 Ij(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{Ij(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 Ij(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 Ij(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 Ij(l,g-m|0);Ml(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){_p(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;Pg(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;uk(_|0,1,o|0)|0;uk(_|0,0,w|0)|0;c:while(1){if(H){uk(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];Ig(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;Fj(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){$p(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;Fj(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);kr(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);kr(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);kr(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);kr(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);kr(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);kr(k);u=ea;return 1}function $a(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,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;_=u;u=u+64|0;W=_+56|0;X=_+52|0;Q=_+48|0;j=_+60|0;Z=_;J=_+44|0;F=_+40|0;G=_+36|0;H=_+32|0;I=_+28|0;P=_+24|0;R=_+20|0;S=_+16|0;U=_+12|0;if(!(b[a+360>>0]|0)){_h(W,f[a+8>>2]|0);Y=a+12|0;V=f[W>>2]|0;f[W>>2]=0;d=f[Y>>2]|0;f[Y>>2]=V;if(d){Fk(d);kr(d);d=f[W>>2]|0;f[W>>2]=0;if(d|0){Fk(d);kr(d)}}else f[W>>2]=0}else{Ej(W,f[a+8>>2]|0);Y=a+12|0;V=f[W>>2]|0;f[W>>2]=0;d=f[Y>>2]|0;f[Y>>2]=V;if(d){Fk(d);kr(d);d=f[W>>2]|0;f[W>>2]=0;if(d|0){Fk(d);kr(d)}}else f[W>>2]=0}C=a+12|0;if(!(f[C>>2]|0)){Z=0;u=_;return Z|0}N=a+200|0;bf(N,a)|0;L=f[C>>2]|0;Y=a+4|0;mj(((f[L+28>>2]|0)-(f[L+24>>2]|0)>>2)-(f[L+36>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;L=f[C>>2]|0;mj(((f[L+28>>2]|0)-(f[L+24>>2]|0)>>2)-(f[L+44>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;L=f[C>>2]|0;mj((((f[L+4>>2]|0)-(f[L>>2]|0)>>2>>>0)/3|0)-(f[L+40>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;L=a+28|0;K=a+8|0;i=f[K>>2]|0;i=((f[i+100>>2]|0)-(f[i+96>>2]|0)|0)/12|0;b[W>>0]=0;oi(L,i,W);i=f[C>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;f[W>>2]=-1;ah(a+52|0,i,W);i=a+40|0;d=f[i>>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);A=f[C>>2]|0;A=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xk(i,A-((A>>>0)%3|0)|0);A=a+84|0;z=f[C>>2]|0;z=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[W>>0]=0;oi(A,z,W);z=a+96|0;d=f[z>>2]|0;y=a+100|0;e=f[y>>2]|0;if((e|0)!=(d|0))f[y>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;D=a+168|0;f[D>>2]=0;V=a+108|0;d=f[V>>2]|0;E=a+112|0;e=f[E>>2]|0;if((e|0)!=(d|0))f[E>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);i=a+132|0;if(f[i>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{B=d;d=f[d>>2]|0;kr(B)}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[i>>2]=0}f[a+144>>2]=0;x=f[C>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;f[W>>2]=-1;ah(a+152|0,x,W);x=a+72|0;d=f[x>>2]|0;w=a+76|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);B=f[C>>2]|0;Xk(x,((f[B+4>>2]|0)-(f[B>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Xe(a)|0)){Z=0;u=_;return Z|0}if(!(kh(a)|0)){Z=0;u=_;return Z|0}v=a+172|0;t=a+176|0;d=(((f[t>>2]|0)-(f[v>>2]|0)|0)/108|0)&255;b[j>>0]=d;e=f[(f[Y>>2]|0)+44>>2]|0;B=e+16|0;s=f[B+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[B>>2]|0)>>>0>0)){f[X>>2]=f[e+4>>2];f[W>>2]=f[X>>2];Zf(e,W,j,j+1|0)|0;d=b[j>>0]|0}f[a+284>>2]=d<<24>>24;r=f[C>>2]|0;r=(f[r+4>>2]|0)-(f[r>>2]|0)|0;s=r>>2;Cj(N);f[Z>>2]=0;B=Z+4|0;f[B>>2]=0;f[Z+8>>2]=0;a:do if((r|0)>0){q=a+216|0;n=a+212|0;p=a+104|0;o=Z+8|0;r=0;b:while(1){d=(r>>>0)/3|0;k=d>>>5;l=1<<(d&31);if((f[(f[L>>2]|0)+(k<<2)>>2]&l|0)==0?(m=f[C>>2]|0,f[J>>2]=d,f[W>>2]=f[J>>2],!(Uk(m,W)|0)):0){f[X>>2]=0;f[F>>2]=d;f[W>>2]=f[F>>2];e=dg(a,W,X)|0;m=q;j=f[m+4>>2]|0;if((j|0)>0|(j|0)==0&(f[m>>2]|0)>>>0>0){g=f[n>>2]|0;m=g+4|0;i=f[m>>2]|0;j=i>>>3;i=i&7;d=(f[g>>2]|0)+j|0;b[d>>0]=h[d>>0]&(1<>2]|0)+j|0;b[j>>0]=h[j>>0]|(e&1)<>2]=(f[m>>2]|0)+1}d=f[X>>2]|0;m=(d|0)<0;do if(e){do if(m){i=-1073741824;g=-1073741824;e=-1073741824}else{j=f[f[C>>2]>>2]|0;e=f[j+(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[j+(g<<2)>>2]|0;i=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((i|0)<0){i=-1073741824;break}i=f[j+(i<<2)>>2]|0}while(0);j=f[A>>2]|0;$=j+(e>>>5<<2)|0;f[$>>2]=f[$>>2]|1<<(e&31);e=j+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=j+(i>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(i&31);f[W>>2]=1;e=f[y>>2]|0;if(e>>>0<(f[p>>2]|0)>>>0){f[e>>2]=1;f[y>>2]=e+4}else $j(z,W);i=(f[L>>2]|0)+(k<<2)|0;f[i>>2]=f[i>>2]|l;i=d+1|0;if(m)g=d;else g=((i|0)%3|0|0)==0?d+-2|0:i;f[W>>2]=g;e=f[B>>2]|0;if(e>>>0<(f[o>>2]|0)>>>0){f[e>>2]=g;f[B>>2]=e+4}else $j(Z,W);if(m)break;d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;e=f[(f[(f[C>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;$=(e|0)<0;d=$?-1073741824:(e>>>0)/3|0;if($)break;if(f[(f[L>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[G>>2]=e;f[W>>2]=f[G>>2];if(!(bb(a,W)|0))break b}else{e=d+1|0;if(!m)d=((e|0)%3|0|0)==0?d+-2|0:e;f[H>>2]=d;f[W>>2]=f[H>>2];Xf(a,W,1)|0;f[I>>2]=f[X>>2];f[W>>2]=f[I>>2];if(!(bb(a,W)|0))break b}while(0)}r=r+1|0;if((r|0)>=(s|0)){M=63;break a}}e=0}else M=63;while(0);if((M|0)==63){d=f[x>>2]|0;e=f[w>>2]|0;g=e;if((d|0)!=(e|0)?(O=e+-4|0,d>>>0>>0):0){e=d;d=O;do{$=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=$;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[P>>2]=g;f[R>>2]=f[Z>>2];f[S>>2]=f[B>>2];f[Q>>2]=f[P>>2];f[X>>2]=f[R>>2];f[W>>2]=f[S>>2];Le(x,Q,X,W)|0;if((f[t>>2]|0)!=(f[v>>2]|0)?(c=f[K>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[W>>0]=0,oi(L,c,W),c=f[x>>2]|0,T=f[w>>2]|0,(c|0)!=(T|0)):0)do{f[U>>2]=f[c>>2];f[W>>2]=f[U>>2];Gh(a,W)|0;c=c+4|0}while((c|0)!=(T|0));Qh(N);mj(f[a+328>>2]|0,f[(f[Y>>2]|0)+44>>2]|0)|0;mj(f[D>>2]|0,f[(f[Y>>2]|0)+44>>2]|0)|0;d=a+232|0;e=a+236|0;mj((f[e>>2]|0)-(f[d>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;c=f[(f[Y>>2]|0)+44>>2]|0;d=f[d>>2]|0;$=c+16|0;a=f[$+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[$>>2]|0)>>>0>0)){$=(f[e>>2]|0)-d|0;f[X>>2]=f[c+4>>2];f[W>>2]=f[X>>2];Zf(c,W,d,d+$|0)|0;c=f[(f[Y>>2]|0)+44>>2]|0}$=(f[E>>2]|0)-(f[V>>2]|0)|0;g=($|0)/12|0;mj(g,c)|0;if(!$)e=1;else{c=0;d=0;while(1){$=f[V>>2]|0;e=$+(c*12|0)+4|0;mj((f[e>>2]|0)-d|0,f[(f[Y>>2]|0)+44>>2]|0)|0;mj((f[e>>2]|0)-(f[$+(c*12|0)>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;c=c+1|0;if(c>>>0>=g>>>0)break;else d=f[e>>2]|0}Sj(f[(f[Y>>2]|0)+44>>2]|0,g<<1,0,0)|0;d=0;do{c=f[(f[Y>>2]|0)+44>>2]|0;e=b[(f[V>>2]|0)+(d*12|0)+8>>0]&3;$=c+16|0;X=f[$+4>>2]|0;if((X|0)>0|(X|0)==0&(f[$>>2]|0)>>>0>0){a=f[c+12>>2]|0;$=a+4|0;X=f[$>>2]|0;W=X>>>3;X=X&7;U=(f[a>>2]|0)+W|0;b[U>>0]=h[U>>0]&(1<>2]|0)+W|0;b[W>>0]=h[W>>0]|(e&1)<>2]|0)+1|0;f[$>>2]=W;X=W>>>3;W=W&7;U=(f[a>>2]|0)+X|0;b[U>>0]=h[U>>0]&(1<>2]|0)+X|0;b[X>>0]=h[X>>0]|e>>>1<>2]=(f[$>>2]|0)+1}d=d+1|0}while(d>>>0>>0);Yi(f[(f[Y>>2]|0)+44>>2]|0);e=1}}c=f[Z>>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);kr(c)}$=e;u=_;return $|0}function ab(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,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;_=u;u=u+64|0;W=_+56|0;X=_+52|0;Q=_+48|0;j=_+60|0;Z=_;J=_+44|0;F=_+40|0;G=_+36|0;H=_+32|0;I=_+28|0;P=_+24|0;R=_+20|0;S=_+16|0;U=_+12|0;if(!(b[a+288>>0]|0)){_h(W,f[a+8>>2]|0);Y=a+12|0;V=f[W>>2]|0;f[W>>2]=0;d=f[Y>>2]|0;f[Y>>2]=V;if(d){Fk(d);kr(d);d=f[W>>2]|0;f[W>>2]=0;if(d|0){Fk(d);kr(d)}}else f[W>>2]=0}else{Ej(W,f[a+8>>2]|0);Y=a+12|0;V=f[W>>2]|0;f[W>>2]=0;d=f[Y>>2]|0;f[Y>>2]=V;if(d){Fk(d);kr(d);d=f[W>>2]|0;f[W>>2]=0;if(d|0){Fk(d);kr(d)}}else f[W>>2]=0}D=a+12|0;d=f[D>>2]|0;if(!d){Z=0;u=_;return Z|0}N=a+200|0;f[a+264>>2]=a;Y=a+4|0;mj(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+36>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;L=f[D>>2]|0;mj(((f[L+28>>2]|0)-(f[L+24>>2]|0)>>2)-(f[L+44>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;L=f[D>>2]|0;mj((((f[L+4>>2]|0)-(f[L>>2]|0)>>2>>>0)/3|0)-(f[L+40>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;L=a+28|0;K=a+8|0;i=f[K>>2]|0;i=((f[i+100>>2]|0)-(f[i+96>>2]|0)|0)/12|0;b[W>>0]=0;oi(L,i,W);i=f[D>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;f[W>>2]=-1;ah(a+52|0,i,W);i=a+40|0;d=f[i>>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);A=f[D>>2]|0;A=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;Xk(i,A-((A>>>0)%3|0)|0);A=a+84|0;z=f[D>>2]|0;z=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[W>>0]=0;oi(A,z,W);z=a+96|0;d=f[z>>2]|0;y=a+100|0;e=f[y>>2]|0;if((e|0)!=(d|0))f[y>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;C=a+168|0;f[C>>2]=0;V=a+108|0;d=f[V>>2]|0;E=a+112|0;e=f[E>>2]|0;if((e|0)!=(d|0))f[E>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);i=a+132|0;if(f[i>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{B=d;d=f[d>>2]|0;kr(B)}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[i>>2]=0}f[a+144>>2]=0;x=f[D>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;f[W>>2]=-1;ah(a+152|0,x,W);x=a+72|0;d=f[x>>2]|0;w=a+76|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);B=f[D>>2]|0;Xk(x,((f[B+4>>2]|0)-(f[B>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Xe(a)|0)){Z=0;u=_;return Z|0}if(!(lh(a)|0)){Z=0;u=_;return Z|0}v=a+172|0;t=a+176|0;d=(((f[t>>2]|0)-(f[v>>2]|0)|0)/108|0)&255;b[j>>0]=d;e=f[(f[Y>>2]|0)+44>>2]|0;B=e+16|0;s=f[B+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[B>>2]|0)>>>0>0)){f[X>>2]=f[e+4>>2];f[W>>2]=f[X>>2];Zf(e,W,j,j+1|0)|0;d=b[j>>0]|0}f[a+284>>2]=d<<24>>24;r=f[D>>2]|0;r=(f[r+4>>2]|0)-(f[r>>2]|0)|0;s=r>>2;Cj(N);f[Z>>2]=0;B=Z+4|0;f[B>>2]=0;f[Z+8>>2]=0;a:do if((r|0)>0){q=a+216|0;n=a+212|0;p=a+104|0;o=Z+8|0;r=0;b:while(1){d=(r>>>0)/3|0;k=d>>>5;l=1<<(d&31);if((f[(f[L>>2]|0)+(k<<2)>>2]&l|0)==0?(m=f[D>>2]|0,f[J>>2]=d,f[W>>2]=f[J>>2],!(Uk(m,W)|0)):0){f[X>>2]=0;f[F>>2]=d;f[W>>2]=f[F>>2];e=dg(a,W,X)|0;m=q;j=f[m+4>>2]|0;if((j|0)>0|(j|0)==0&(f[m>>2]|0)>>>0>0){g=f[n>>2]|0;m=g+4|0;i=f[m>>2]|0;j=i>>>3;i=i&7;d=(f[g>>2]|0)+j|0;b[d>>0]=h[d>>0]&(1<>2]|0)+j|0;b[j>>0]=h[j>>0]|(e&1)<>2]=(f[m>>2]|0)+1}d=f[X>>2]|0;m=(d|0)<0;do if(e){do if(m){i=-1073741824;g=-1073741824;e=-1073741824}else{j=f[f[D>>2]>>2]|0;e=f[j+(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[j+(g<<2)>>2]|0;i=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((i|0)<0){i=-1073741824;break}i=f[j+(i<<2)>>2]|0}while(0);j=f[A>>2]|0;$=j+(e>>>5<<2)|0;f[$>>2]=f[$>>2]|1<<(e&31);e=j+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=j+(i>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(i&31);f[W>>2]=1;e=f[y>>2]|0;if(e>>>0<(f[p>>2]|0)>>>0){f[e>>2]=1;f[y>>2]=e+4}else $j(z,W);i=(f[L>>2]|0)+(k<<2)|0;f[i>>2]=f[i>>2]|l;i=d+1|0;if(m)g=d;else g=((i|0)%3|0|0)==0?d+-2|0:i;f[W>>2]=g;e=f[B>>2]|0;if(e>>>0<(f[o>>2]|0)>>>0){f[e>>2]=g;f[B>>2]=e+4}else $j(Z,W);if(m)break;d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;e=f[(f[(f[D>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;$=(e|0)<0;d=$?-1073741824:(e>>>0)/3|0;if($)break;if(f[(f[L>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[G>>2]=e;f[W>>2]=f[G>>2];if(!(db(a,W)|0))break b}else{e=d+1|0;if(!m)d=((e|0)%3|0|0)==0?d+-2|0:e;f[H>>2]=d;f[W>>2]=f[H>>2];Xf(a,W,1)|0;f[I>>2]=f[X>>2];f[W>>2]=f[I>>2];if(!(db(a,W)|0))break b}while(0)}r=r+1|0;if((r|0)>=(s|0)){M=63;break a}}e=0}else M=63;while(0);if((M|0)==63){d=f[x>>2]|0;e=f[w>>2]|0;g=e;if((d|0)!=(e|0)?(O=e+-4|0,d>>>0>>0):0){e=d;d=O;do{$=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=$;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[P>>2]=g;f[R>>2]=f[Z>>2];f[S>>2]=f[B>>2];f[Q>>2]=f[P>>2];f[X>>2]=f[R>>2];f[W>>2]=f[S>>2];Le(x,Q,X,W)|0;if((f[t>>2]|0)!=(f[v>>2]|0)?(c=f[K>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[W>>0]=0,oi(L,c,W),c=f[x>>2]|0,T=f[w>>2]|0,(c|0)!=(T|0)):0)do{f[U>>2]=f[c>>2];f[W>>2]=f[U>>2];Gh(a,W)|0;c=c+4|0}while((c|0)!=(T|0));Uf(N);mj((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[Y>>2]|0)+44>>2]|0)|0;mj(f[C>>2]|0,f[(f[Y>>2]|0)+44>>2]|0)|0;d=a+232|0;e=a+236|0;mj((f[e>>2]|0)-(f[d>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;c=f[(f[Y>>2]|0)+44>>2]|0;d=f[d>>2]|0;$=c+16|0;a=f[$+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[$>>2]|0)>>>0>0)){$=(f[e>>2]|0)-d|0;f[X>>2]=f[c+4>>2];f[W>>2]=f[X>>2];Zf(c,W,d,d+$|0)|0;c=f[(f[Y>>2]|0)+44>>2]|0}$=(f[E>>2]|0)-(f[V>>2]|0)|0;g=($|0)/12|0;mj(g,c)|0;if(!$)e=1;else{c=0;d=0;while(1){$=f[V>>2]|0;e=$+(c*12|0)+4|0;mj((f[e>>2]|0)-d|0,f[(f[Y>>2]|0)+44>>2]|0)|0;mj((f[e>>2]|0)-(f[$+(c*12|0)>>2]|0)|0,f[(f[Y>>2]|0)+44>>2]|0)|0;c=c+1|0;if(c>>>0>=g>>>0)break;else d=f[e>>2]|0}Sj(f[(f[Y>>2]|0)+44>>2]|0,g<<1,0,0)|0;d=0;do{c=f[(f[Y>>2]|0)+44>>2]|0;e=b[(f[V>>2]|0)+(d*12|0)+8>>0]&3;$=c+16|0;X=f[$+4>>2]|0;if((X|0)>0|(X|0)==0&(f[$>>2]|0)>>>0>0){a=f[c+12>>2]|0;$=a+4|0;X=f[$>>2]|0;W=X>>>3;X=X&7;U=(f[a>>2]|0)+W|0;b[U>>0]=h[U>>0]&(1<>2]|0)+W|0;b[W>>0]=h[W>>0]|(e&1)<>2]|0)+1|0;f[$>>2]=W;X=W>>>3;W=W&7;U=(f[a>>2]|0)+X|0;b[U>>0]=h[U>>0]&(1<>2]|0)+X|0;b[X>>0]=h[X>>0]|e>>>1<>2]=(f[$>>2]|0)+1}d=d+1|0}while(d>>>0>>0);Yi(f[(f[Y>>2]|0)+44>>2]|0);e=1}}c=f[Z>>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);kr(c)}$=e;u=_;return $|0}function bb(a,c){a=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)){$j(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+324|0;y=a+152|0;s=a+84|0;M=a+328|0;x=a+292|0;t=a+304|0;N=a+316|0;K=a+332|0;w=a+344|0;J=a+336|0;B=a+124|0;C=a+120|0;T=ha+8|0;Q=ha+4|0;z=a+112|0;D=a+116|0;V=a+108|0;S=ha+8|0;P=ha+4|0;U=ha+8|0;R=ha+4|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))$j(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[3676+(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 $j(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[P>>2]=j;b[S>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))Dj(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);Sc(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[Q>>2]=ba;b[T>>0]=1;g=f[z>>2]|0;if((g|0)==(f[D>>2]|0)){Dj(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}Sc(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[R>>2]=da;b[U>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))Dj(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);Sc(W,7);f[fa>>2]=(f[fa>>2]|0)+-4}else if((ka|0)==115){ka=0;Sc(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];Xf(a,ha,0)|0}r=f[I>>2]|0;f[ha>>2]=p;e=Wf(H,ha)|0;f[e>>2]=r;e=f[fa>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[_>>2]|0)){$j(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 cb(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+32>>2]|0;P=f[a+36>>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{Ij(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 Ij(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 Ij(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 Ij(k,g-l|0);Ml(W,g);J=a+40|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){_p(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;Pg(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;uk(V|0,1,o|0)|0;uk(V|0,0,w|0)|0;c:while(1){if(G){uk(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];Ig(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+44+(k*12|0)|0;l=a+44+(k*12|0)+4|0;k=a+44+(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;Fj(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){$p(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;Fj(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))}}xj(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);kr(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)uk(f[ca>>2]|0,0,g<<2|0)|0;xj(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);kr(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);kr(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);kr(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);kr(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);kr(j);u=da;return 1}function db(a,c){a=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)){$j(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+8|0;M=ba+4|0;w=a+112|0;B=a+116|0;R=a+108|0;N=ba+8|0;K=ba+4|0;O=ba+8|0;L=ba+4|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))$j(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))$j(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[K>>2]=j;b[N>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))Dj(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))$j(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[M>>2]=X;b[P>>0]=1;g=f[w>>2]|0;if((g|0)==(f[B>>2]|0)){Dj(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))$j(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[L>>2]=Z;b[O>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))Dj(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))$j(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))$j(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];Xf(a,ba,0)|0}r=f[H>>2]|0;f[ba>>2]=p;e=Wf(G,ba)|0;f[e>>2]=r;e=f[$>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[U>>2]|0)){$j(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 eb(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+32>>2]|0;O=f[a+36>>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{Ij(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 Ij(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 Ij(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 Ij(k,g-l|0);Ml(V,g);I=a+40|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){_p(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;Pg(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;uk(U|0,1,o|0)|0;uk(U|0,0,w|0)|0;c:while(1){if(G){uk(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];Ig(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+44+(k*12|0)|0;l=a+44+(k*12|0)+4|0;k=a+44+(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;Fj(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){$p(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;Fj(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))}}xj(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);kr(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)uk(f[Z>>2]|0,0,g<<2|0)|0;xj(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);kr(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);kr(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);kr(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);kr(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);kr(j);u=_;return 1}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(20622,20638,58,20730);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(j|0))Fa(20740,20638,59,20730);r=f[a+(j<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(yk(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)Fa(7572,7599,92,7718);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;al(x,17976,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)?(kj(k,x)|0)!=0:0)e=Ql(k,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Ql(g,x,-1)|0;ep(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];Zf(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];Zf(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];Zf(c,x,y,y+4|0)|0}Rm(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(Td(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];Zf(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)kr(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;kr(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];Zf(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];Zf(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];Zf(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];Th(o,w,x);switch(b[t>>0]|0){case 6:{Gi(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=og(m,w,x,n,c)|0;ng(m);if(y)v=52;else v=57;break}case 5:{Gi(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=pg(m,w,x,n,c)|0;ng(m);if(y)v=52;else v=57;break}case 4:{Gi(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=pg(m,w,x,n,c)|0;ng(m);if(y)v=52;else v=57;break}case 3:{Wi(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=Sg(m,w,x,n,c)|0;Og(m);if(y)v=52;else v=57;break}case 2:{Wi(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=Sg(m,w,x,n,c)|0;Og(m);if(y)v=52;else v=57;break}case 1:{Vi(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=Rg(m,w,x,n,c)|0;Ng(m);if(y)v=52;else v=57;break}case 0:{Vi(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=Rg(m,w,x,n,c)|0;Ng(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);kr(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);kr(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,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,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;$k(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);kr(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;$k(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);kr(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;Dc(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){kr(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=Ke(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{Qj(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))$j(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)){Dc(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)){Dc(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(7755,7785,332,7927)}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{kr(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{kr(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}kr(d);u=Q;return}function hb(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;Pi(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){$p(Q);T=Ha(4)|0;Rq(T);sa(T|0,1136,110)}else{G=c<<2;F=go(G)|0;f[Q>>2]=F;P=F+(c<<2)|0;f[Q+8>>2]=P;uk(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=go(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;Pi(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)){$j(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(20740,20638,67,20730);else if((A|0)==76)Fa(20740,20638,67,20730)}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);kr(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);kr(c)}c=f[S+8>>2]|0;if(c|0)do{R=c;c=f[c>>2]|0;kr(R)}while((c|0)!=0);c=f[S>>2]|0;f[S>>2]=0;if(!c){u=T;return}kr(c);u=T;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;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;$k(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);kr(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;$k(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);kr(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;Dc(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){kr(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{Qj(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))$j(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)){Dc(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)){Dc(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(7755,7785,332,7927)}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{kr(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{kr(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}kr(d);u=M;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+8|0;i=N;G=a+8|0;F=f[G>>2]|0;f[i>>2]=0;$k(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);kr(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;$k(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);kr(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;Dc(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){kr(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{Qj(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))$j(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)Qj(C,i,d-o|0);else Qj(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)){Dc(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)){Dc(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(7755,7785,332,7927)}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{kr(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{kr(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}kr(d);u=N;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;$k(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);kr(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;$k(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);kr(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;Dc(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){kr(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{Qj(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))$j(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)mh(C,i,d-o|0);else mh(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)){Dc(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)){Dc(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(7755,7785,332,7927)}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{kr(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{kr(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}kr(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;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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}lb(a,n,c);a=n+4|0}if((s|0)==104){s=0;lb(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(a,b,c);return}else if((s|0)==106)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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(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=Pe(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Se(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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{_p(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){_p(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=Wd(a,n,c)|0;d=n+4|0;if(Wd(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{_p(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){_p(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){Se(a,a+4|0,t,c)|0;return}else if((s|0)==14){fg(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Pe(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){ph(a,b,c);return}else if((s|0)==106)return}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;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 ui(y,b-g|0,6092);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)$p(A);c=((b+-1|0)>>>5)+1|0;s=go(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;uk(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)$p(z);c=((g+-1|0)>>>5)+1|0;h=go(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;uk(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))$j(y,6092);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))$j(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){$p(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;Fj(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){kr(d);c=f[A>>2]|0}if(!c){u=B;return 1}kr(c);u=B;return 1}function Eb(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;ap(c)|0;if((I|0)<0){C=1;A=21275;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21276:21281):21278}ap(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Uq(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=El(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[21310+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;cm(a,32,d,j,g);Ep(a,p,o);cm(a,48,d,j,g^65536);Ep(a,F,C);cm(a,48,D-C|0,0,0);Ep(a,n,E);cm(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=Ao(f[j>>2]|0,0,o|0)|0;x=dp(x|0,I|0,l|0,0)|0;y=I;v=Zn(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Tp(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=El(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;cm(a,32,d,j,g);Ep(a,A,C);cm(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=El(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){uk(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Ep(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Ep(a,21326,1);if(m>>>0>>0&(k|0)>0)while(1){l=El(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){uk(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Ep(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}cm(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=El(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;Ep(a,l,1);if(e&(k|0)<1){l=m;break}Ep(a,21326,1);l=m}else{if(l>>>0<=F>>>0)break;uk(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Ep(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}cm(a,48,k+18|0,18,0);Ep(a,v,D-v|0)}cm(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;cm(a,32,d,j,g&-65537);Ep(a,A,C);Ep(a,c!=c|0.0!=0.0?(F?21302:21306):F?21294:21298,3);cm(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0} +function bj(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 cj(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){he(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;he(a,b);return}function dj(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){Cd(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;Cd(a,b);return}function ej(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 fj(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){ie(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;ie(a,b);return}function gj(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){He(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;He(a,b);return}function hj(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 ij(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;bh(g,a+40|0,f[a+8>>2]|0,b,c);gk(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;kr(b)}kr(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);kr(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;kr(b)}kr(c)}kr(d);u=e;return 1}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,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;al(a,c,il(c)|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;al(h,d,il(d)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;al(e,c,il(c)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;al(g,d,il(d)|0);_n(b,e,g);ep(g);ep(e);ep(h);ep(a);b=1;u=i;return b|0}function kj(a,c){a=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=um(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=um(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 lj(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(12779,11854,259,12803);d=f[c>>2]|0;if((d|0)>(e|0))Fa(12817,11854,260,12803);a=0-e|0;if((i|0)<(a|0))Fa(12841,11854,261,12803);if((d|0)<(a|0))Fa(12866,11854,262,12803);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 mj(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];Zf(c,e,g,g+1|0)|0;d=mj(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];Zf(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function nj(a,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=go(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{Lj(j,c);g=b[h>>0]|0;e=f[i>>2]|0;c=f[j>>2]|0}j=g<<24>>24<0;hi(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 oj(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 pj(a,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=go(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;pm(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;hi(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}Lj(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;hi(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 qj(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 rj(a,c){a=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(!(We(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];Zf(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 sj(a,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;al(i,17912,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)?(kj(h,i)|0)!=0:0)b=h;else j=9}else j=9;j=Ql(b,i,-1)|0;ep(i);u=k;return ((j|0)==-1?-1:j>>>0>6?-2:j)|0}function tj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1432;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);kr(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}kr(b)}f[a>>2]=1256;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);kr(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);kr(d);return}function uj(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;kr(c)}kr(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);kr(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;kr(c)}kr(b)}kr(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;kr(b);return}function vj(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;kr(d)}kr(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);kr(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;kr(d)}kr(c)}kr(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}kr(b);return}function wj(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}qo(e);if(((kn(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),ei(d,a,b,e),a=(f[d>>2]|0)==0,ep(d+4|0),a):0){a=f[e>>2]|0;d=e+4|0;Qg(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)kr(c);b=f[e>>2]|0;if(b|0){c=e+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;kr(b)}e=d;u=g;return e|0}function xj(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+16>>2]<<1;if((h|0)>(l|0))Fa(12161,12206,81,12385);e=f[c+4>>2]|0;if((e|0)>(l|0))Fa(12403,12206,82,12385);g=f[b>>2]|0;if((g|0)>(l|0))Fa(12448,12206,83,12385);c=f[b+4>>2]|0;if((c|0)>(l|0))Fa(12493,12206,84,12385);if((h|0)<=-1)Fa(12538,12206,85,12385);if((e|0)<=-1)Fa(12560,12206,86,12385);if((g|0)<=-1)Fa(12582,12206,87,12385);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;Vf(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else Fa(12604,12206,88,12385)}function yj(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3632;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;qo(a+200|0);qo(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]=0;f[a+324>>2]=-1073741824;f[a+328>>2]=0;f[a+332>>2]=2;f[a+336>>2]=7;g=a+340|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;b[a+360>>0]=0;return}function zj(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 Aj(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){ep(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Aj(e+8|0);kr(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)kr(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;kr(c)}ep(e+8|0);kr(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)kr(b);kr(g);ep(a);return}function Bj(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+16>>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];Zf(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+24>>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];Zf(b,g,i,i+4|0)|0;u=j;return 1}function Cj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;g=f[a+64>>2]|0;g=(Ra[f[(f[g>>2]|0)+40>>2]&127](g)|0)+52|0;g=f[g>>2]|0;g=((f[g+100>>2]|0)-(f[g+96>>2]|0)|0)/12|0;Sj(a,g,((g|0)<0)<<31>>31,1)|0;g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=hr(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{io(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;Ik(b)}while((b|0)!=(a|0))}ir(c)}if((f[g>>2]|0)>0)b=0;else return;do{hm((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Dj(a,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){$p(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;Rq(a);sa(a|0,1136,110)}else{i=go(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)hi(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;kr(c);return}function Ej(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;Ok(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))}Al(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);kr(d);u=h;return}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,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)$p(i);l=((b+-1|0)>>>5)+1|0;k=go(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;$h(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)kr(b);u=j;return}function Gj(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];Zf(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];Zf(b,g,i,i+4|0)|0;u=j;return 1}function Hj(a,b){a=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=kn(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))$j(e,i);else{f[a>>2]=c;f[g>>2]=a+4}mm(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 Ij(a,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){uk(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){$p(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;Rq(a);sa(a|0,1136,110)}else{i=go(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;uk(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)hi(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;kr(c);return}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((yk(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(20622,20638,58,20730);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))Fa(20740,20638,59,20730);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((yk(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=yk(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((yk(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 Kj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;g=go(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;Lj(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 Lj(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){$p(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=go(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)hi(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;kr(d);return}function Mj(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)Xp(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=go(l)|0;if(g|0)jp(k,m,g)|0;if(i|0)jp(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)jp(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)kr(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;dq(k+m|0,n);u=o;return}function Nj(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;g=u;u=u+16|0;e=g;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=g;return d|0}a=b+4|0;if(!(f[a>>2]|0)){h=go(52)|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[h+16>>2]=$(1.0);i=h+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[h+36>>2]=$(1.0);f[h+40>>2]=0;f[h+44>>2]=0;f[h+48>>2]=0;f[b+4>>2]=h}i=go(44)|0;Kb(i,d);f[i+40>>2]=c;a=f[a>>2]|0;f[e>>2]=i;nl(a,e)|0;a=f[e>>2]|0;f[e>>2]=0;if(!a){i=1;u=g;return i|0}fk(a);kr(a);i=1;u=g;return i|0}function Oj(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(!(Bm(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);hi(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 Pj(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=ci(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=go(40)|0;pm(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}ag(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 Qj(a,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(19631,7942,49,19757);if((b|0)<=0)Fa(19786,7942,50,19757);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))$j(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))$j(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function Rj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+144|0;b=f[g>>2]|0;if(b|0){h=a+148|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);kr(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}kr(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);kr(b)}b=f[a+92>>2]|0;if(!b){ek(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);kr(b);ek(a);return}function Sj(a,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=dp(c|0,d|0,7,0)|0;l=Bl(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=dp(i|0,0,8,0)|0;j=e?j:i;d=dp(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{Lj(a,d-i|0);c=f[a>>2]|0}k=go(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}kr(c);l=1;return l|0}function Tj(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;Lm(j);h=f[h+56>>2]|0;c=X($m(5)|0,e)|0;Kk(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=go(96)|0;Cm(c,j);f[a>>2]=c;Bk(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){ui(d,g-h|0,1240);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 Uj(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){Ne(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;Ne(a,b);return}function Vj(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;al(e,17960,15);g=Ql(b,e,-1)|0;ep(e);switch(g|0){case -1:{if((yk(b)|0)==10)g=4;else g=3;break}case 1:{g=3;break}default:g=4}if((g|0)==3){e=go(60)|0;tp(e)}else if((g|0)==4){e=go(56)|0;cq(e)}$o(e,c);Gd(a,e,b,d);Oa[f[(f[e>>2]|0)+4>>2]&127](e);u=h;return}function Wj(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){lf(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);kr(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);kr(c)}Qk(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Xj(){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=co()|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[1766];Do(23625,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[268]|0)+16>>2]&31](1072,d,e)|0;b=f[1766]|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;Do(23539,g)}else{f[i>>2]=b;f[i+4>>2]=a;Do(23584,i)}}Do(23663,h)}function Yj(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1376;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;kr(c)}kr(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);kr(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;kr(c)}kr(b)}kr(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);kr(d);return}function Zj(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);kr(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);kr(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);kr(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);kr(b)}f[a+4>>2]=3588;b=f[a+24>>2]|0;if(b|0)kr(b);b=f[a+12>>2]|0;if(!b)return;kr(b);return}function _j(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;g=u;u=u+80|0;i=g;h=g+16|0;e=g+4|0;f[i>>2]=d&1;to(h,19426,i)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;al(e,h,il(h)|0);a=Pj(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}Qi(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;ep(e);u=g;return}function $j(a,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){$p(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;Rq(a);sa(a|0,1136,110)}else{i=go(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)hi(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;kr(c);return}function ak(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;g=u;u=u+80|0;i=g;h=g+16|0;e=g+4|0;f[i>>2]=d;to(h,19426,i)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;al(e,h,il(h)|0);a=Pj(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}Qi(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;ep(e);u=g;return}function bk(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=(gr()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=ar()|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=ar()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function ck(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;oi(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;oi(a+12|0,j,d);ah(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6132);Xk(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Xk(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 dk(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3432;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;qo(a+200|0);qo(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 ek(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;Ik(b)}while((b|0)!=(c|0))}ir(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);kr(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kr(b);b=f[a+32>>2]|0;if(b|0){c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;kr(b)}d=a+12|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kr(b);c=f[a>>2]|0;if(!c)return;b=a+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;kr(c);return}function fk(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){fk(d);kr(d)}ep(c+8|0);kr(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)kr(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;kr(c)}ep(e+8|0);kr(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;kr(b);return}function gk(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;kr(a)}kr(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);kr(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;kr(a)}kr(b)}kr(d);return}function hk(a,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));fi(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);kr(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function ik(a,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;Rq(a);sa(a|0,1136,110)}k=f[i>>2]|0;e=go(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;kr(g);return}function jk(a,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=6552;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=ar()|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=Ki(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 kk(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=go(52)|0;Kb(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){fk(c);kr(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}kr(b)}fk(e);kr(e);g=1;return g|0}function lk(a,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;hp(e,c,d)|0;b[j>>0]=0;dq(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;Mj(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function mk(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=kn(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=lm(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 nk(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);kr(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);kr(d)}Qk(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}kr(b);return}function ok(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+4|0;g=f[j>>2]|0;i=a+8|0;a=f[i>>2]|0;d=g+4|0;c=f[d>>2]|0;b=f[g>>2]|0;e=c-b>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)f[d>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Ij(g,a-e|0);a=f[i>>2]|0}if((a|0)>0)d=0;else return 1;do{b=f[j>>2]|0;c=f[b>>2]|0;if((f[b+4>>2]|0)-c>>2>>>0<=d>>>0){_p(b);c=f[b>>2]|0;a=f[i>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(a|0));return 1}function pk(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;Vp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;Vp(a);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;al(c,18019,20);_j(a,c,1);ep(c);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;al(c,18040,22);_j(a,c,1);ep(c);u=b;return}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Oo(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 rk(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=dp(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))$j(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 sk(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3884;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);kr(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);kr(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}kr(b);return}function tk(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(!(Pp(a,f[c+8>>2]|0,g)|0)){if(Pp(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 In(0,c,d,e);while(0);return}function uk(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 vk(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 wk(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;al(d,19168,23);f[a>>2]=-1;pm(a+4|0,d);ep(d);u=g;return}d=f[b+40>>2]|0;if(!d){Ud(a,b,e,c);u=g;return}else{Vj(a,b,d,c);u=g;return}}function xk(a,b){a=a|0;b=b|0;if(!b)return;else{xk(a,f[b>>2]|0);xk(a,f[b+4>>2]|0);Gk(b+20|0,f[b+24>>2]|0);kr(b);return}}function yk(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;al(d,17930,14);c=Ql(a,d,-1)|0;ep(d);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;al(d,17945,14);a=Ql(a,d,-1)|0;ep(d);a=(c|0)<(a|0)?a:c;u=b;return ((a|0)==-1?5:a)|0}function zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;uh(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 Ak(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){Lj(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Ch(a,b,b+c|0);while(0);a=a+24|0;h=a;h=dp(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 Bk(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=go(32)|0,po(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;kr(e)}kr(d)}e=$m(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=fo(e|0,d|0,c|0,0)|0;if(!(Ak(i,0,g,I)|0)){i=0;return i|0}Kl(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function Ck(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(!(Pp(a,b,0)|0))if((b|0)!=0?(e=Li(b,1096,1080,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 Dk(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;al(e,17930,14);ak(a,e,b);ep(e);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;al(e,17945,14);ak(a,e,c);ep(e);u=d;return}function Ek(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=go(36)|0;qp(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 Wh(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 Fk(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);kr(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);kr(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);kr(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);kr(d);return}function Gk(a,b){a=a|0;b=b|0;if(!b)return;else{Gk(a,f[b>>2]|0);Gk(a,f[b+4>>2]|0);ep(b+28|0);ep(b+16|0);kr(b);return}}function Hk(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;mj((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){mj(f[e+40>>2]|0,b)|0;qh(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));qh(a,b,c)|0;a=1;return a|0}function Ik(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;lg(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);kr(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);kr(d);u=e;return}function Jk(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;xj(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=hr(e)|0;uk(g|0,0,e|0)|0;xj(a,b,g,c);ir(g);return 1}function Kk(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 Lk(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;kr(c)}kr(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);kr(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;kr(c)}kr(b)}kr(a);return}function Mk(a,b){a=a|0;b=b|0;if(!b)return;else{Mk(a,f[b>>2]|0);Mk(a,f[b+4>>2]|0);Gk(b+20|0,f[b+24>>2]|0);kr(b);return}}function Nk(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];Zf(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function Ok(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){$p(a);c=Ha(4)|0;Rq(c);sa(c|0,1136,110)}d=go(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 Pk(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){$p(a);e=Ha(4)|0;Rq(e);sa(e|0,1136,110)}g=go(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 Qk(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);kr(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);kr(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);kr(b)}b=f[a+12>>2]|0;if(b|0)kr(b);b=f[a>>2]|0;if(!b)return;kr(b);return}function Rk(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){$p(a);h=Ha(4)|0;Rq(h);sa(h|0,1136,110)}g=go(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;hi(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Sk(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(!(Bm(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 Tk(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];Zf(a,c,d,d+4|0)|0;u=e;return 1}function Uk(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 Vk(a){a=a|0;if(!a)return;Gk(a+24|0,f[a+28>>2]|0);xk(a+12|0,f[a+16>>2]|0);Gk(a,f[a+4>>2]|0);kr(a);return}function Wk(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?(qr(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=Sk(c,a)|0;pr(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=Sk(c,a)|0}while(0);return d|0}function Xk(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;Rq(a);sa(a|0,1136,110)}j=(f[d>>2]|0)-c|0;h=j>>2;i=go(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)hi(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;kr(c);return}function Yk(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){$p(a);c=Ha(4)|0;Rq(c);sa(c|0,1136,110)}e=go(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Rk(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2156;b=f[a+96>>2]|0;if(b|0)kr(b);b=f[a+84>>2]|0;if(b|0)kr(b);b=f[a+72>>2]|0;if(b|0)kr(b);b=f[a+60>>2]|0;if(b|0)kr(b);f[a>>2]=1568;c=f[a+32>>2]|0;if(!c){kr(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);kr(c);kr(a);return}function _k(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1792;b=f[a+96>>2]|0;if(b|0)kr(b);b=f[a+84>>2]|0;if(b|0)kr(b);b=f[a+72>>2]|0;if(b|0)kr(b);b=f[a+60>>2]|0;if(b|0)kr(b);f[a>>2]=1568;c=f[a+32>>2]|0;if(!c){kr(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);kr(c);kr(a);return}function $k(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){$p(a);e=Ha(4)|0;Rq(e);sa(e|0,1136,110)}g=go(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 al(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{Xp(a);g=5}if((g|0)==5){i=d+16&-16;g=go(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}jp(a,c,d)|0;b[e>>0]=0;dq(a+d|0,e);u=h;return}function bl(a){a=a|0;var b=0,c=0;f[a>>2]=2156;b=f[a+96>>2]|0;if(b|0)kr(b);b=f[a+84>>2]|0;if(b|0)kr(b);b=f[a+72>>2]|0;if(b|0)kr(b);b=f[a+60>>2]|0;if(b|0)kr(b);f[a>>2]=1568;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);kr(c);return}function cl(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(!(Kq(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 dl(a){a=a|0;var b=0,c=0;f[a>>2]=1792;b=f[a+96>>2]|0;if(b|0)kr(b);b=f[a+84>>2]|0;if(b|0)kr(b);b=f[a+72>>2]|0;if(b|0)kr(b);b=f[a+60>>2]|0;if(b|0)kr(b);f[a>>2]=1568;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);kr(c);return}function el(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+48|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 fl(a,c,d){a=a|0;c=c|0;d=d|0;c=gi(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=cl(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function gl(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(!(Hm(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 hl(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 il(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 jl(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 kl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3516;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);kr(b)}f[a+12>>2]=3540;b=f[a+32>>2]|0;if(b|0)kr(b);b=f[a+20>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function ll(a,b){a=a|0;b=b|0;var c=0;c=f[a+60>>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}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 ml(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3296;f[a+40>>2]=1220;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);kr(b)}f[a>>2]=1500;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Yj(a);kr(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Yj(a);kr(a);return}function nl(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{ai(a+40|0,b);a=1;return a|0}return 0}function ol(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+48|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 pl(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;al(e,17976,17);ak(Vd(a,g)|0,e,c);ep(e);u=d;return}function ql(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=Fo(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+ql(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 rl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;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);kr(b)}f[a+12>>2]=3588;b=f[a+32>>2]|0;if(b|0)kr(b);b=f[a+20>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function sl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2212;b=f[a+76>>2]|0;if(b|0)kr(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)ir(b);f[a>>2]=1568;b=f[a+32>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function tl(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;al(a,c,il(c)|0);an(b,a,d);ep(a);b=1;u=e;return b|0}function ul(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;al(a,c,il(c)|0);cn(b,a,d);ep(a);b=1;u=e;return b|0}function vl(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21328+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21416;e=5;break}}if((e|0)==2)if(!d)d=21416;else{a=21416;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 Nq(d,f[c+20>>2]|0)|0}function wl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3516;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);kr(b)}f[a+12>>2]=3540;b=f[a+32>>2]|0;if(b|0)kr(b);b=f[a+20>>2]|0;if(!b)return;kr(b);return}function xl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1848;b=f[a+76>>2]|0;if(b|0)kr(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)ir(b);f[a>>2]=1568;b=f[a+32>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function yl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3296;f[a+40>>2]=1220;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);kr(b)}f[a>>2]=1500;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Yj(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Yj(a);return}function zl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;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);kr(b)}f[a+12>>2]=3588;b=f[a+32>>2]|0;if(b|0)kr(b);b=f[a+20>>2]|0;if(!b)return;kr(b);return}function Al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=go(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=Mi(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;Fk(a);kr(a);return}function Bl(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=bp(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return bp((_d(h,g,bp(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 Cl(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){Pl(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 Dl(a){a=a|0;var b=0,c=0;f[a>>2]=2212;b=f[a+76>>2]|0;if(b|0)kr(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)ir(b);f[a>>2]=1568;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);kr(c);return}function El(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=Zn(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Tp(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 Fl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6104;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);kr(b)}b=f[a+84>>2]|0;if(!b){Vh(a);kr(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);kr(b);Vh(a);kr(a);return}function Gl(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 Hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Uc(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){on(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 Il(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 Jl(a){a=a|0;var b=0,c=0;f[a>>2]=1848;b=f[a+76>>2]|0;if(b|0)kr(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)ir(b);f[a>>2]=1568;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);kr(c);return}function Kl(a,b,c,d,e,g){a=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 Ll(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 Ml(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){$p(a);a=Ha(4)|0;Rq(a);sa(a|0,1136,110)}d=b<<2;e=go(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;uk(e|0,0,d|0)|0;f[c>>2]=b;return}function Nl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6104;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);kr(b)}b=f[a+84>>2]|0;if(!b){Vh(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);kr(b);Vh(a);return}function Ol(a,c){a=a|0;c=c|0;c=gi(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=((cl(c)|0)+1|0)>>>0>1;return a|0}function Pl(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 Lj(a,b-g|0);a=a+24|0;h=a;h=dp(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ql(a,c,d){a=a|0;c=c|0;d=d|0;c=gi(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=cl(c)|0;return a|0}function Rl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2268;b=f[a+76>>2]|0;if(b|0)kr(b);f[a>>2]=1568;b=f[a+32>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function Sl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1904;b=f[a+76>>2]|0;if(b|0)kr(b);f[a>>2]=1568;b=f[a+32>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function Tl(a){a=a|0;var b=0;f[a>>2]=3044;b=f[a+80>>2]|0;if(b|0)kr(b);b=f[a+68>>2]|0;if(b|0)kr(b);b=f[a+56>>2]|0;if(b|0)kr(b);b=f[a+44>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function Ul(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2324;Ik(a+108|0);f[a>>2]=1568;b=f[a+32>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function Vl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;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);kr(b)}b=f[a+4>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function Wl(a){a=a|0;var b=0;f[a>>2]=2680;b=f[a+80>>2]|0;if(b|0)kr(b);b=f[a+68>>2]|0;if(b|0)kr(b);b=f[a+56>>2]|0;if(b|0)kr(b);b=f[a+44>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function Xl(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(Pp(a,f[b+8>>2]|0,g)|0)vk(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 Yl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1960;Ik(a+108|0);f[a>>2]=1568;b=f[a+32>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function Zl(a){a=a|0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;if(!(f[a+36>>2]|0))return 0;else return (f[a+40>>2]|0)!=0|0;return 0}function _l(a){a=a|0;var b=0,c=0;f[a>>2]=2268;b=f[a+76>>2]|0;if(b|0)kr(b);f[a>>2]=1568;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);kr(c);return}function $l(a){a=a|0;var b=0;f[a>>2]=3044;b=f[a+80>>2]|0;if(b|0)kr(b);b=f[a+68>>2]|0;if(b|0)kr(b);b=f[a+56>>2]|0;if(b|0)kr(b);b=f[a+44>>2]|0;if(!b)return;kr(b);return}function am(a){a=a|0;var b=0,c=0;f[a>>2]=1904;b=f[a+76>>2]|0;if(b|0)kr(b);f[a>>2]=1568;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);kr(c);return}function bm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1256;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);kr(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);kr(d);return}function cm(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;uk(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Ep(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Ep(a,f,e)}u=g;return}function dm(a){a=a|0;var b=0;f[a>>2]=2680;b=f[a+80>>2]|0;if(b|0)kr(b);b=f[a+68>>2]|0;if(b|0)kr(b);b=f[a+56>>2]|0;if(b|0)kr(b);b=f[a+44>>2]|0;if(!b)return;kr(b);return}function em(a){a=a|0;var b=0,c=0;f[a>>2]=2324;Ik(a+108|0);f[a>>2]=1568;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);kr(c);return}function fm(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 gm(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;al(d,17960,15);ak(a,d,b);ep(d);u=c;return}function hm(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;lg(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 im(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 jm(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(20622,20638,58,20730);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(20740,20638,59,20730);return 0}function km(a){a=a|0;var b=0,c=0;f[a>>2]=1960;Ik(a+108|0);f[a>>2]=1568;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);kr(c);return}function lm(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 mm(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 nm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Pp(a,f[b+8>>2]|0,0)|0)Gl(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 om(a,b,c){a=a|0;b=b|0;c=c|0;Di(a,c);f[a>>2]=1432;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 pm(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)al(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 qm(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((ip(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 rm(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 sm(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;if(!(f[a+36>>2]|0))return 0;else return (f[a+40>>2]|0)!=0|0;return 0}function tm(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 um(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 vm(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);kr(c);return}function wm(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 xm(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}jq(f[(f[a+36>>2]|0)+(c<<2)>>2]|0);a=1;return a|0}function ym(a){a=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+40>>2]|0)!=0;return a|0}function zm(a){a=a|0;var b=0,c=0;f[a>>2]=3100;b=f[a+60>>2]|0;if(b|0)kr(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kr(a);return}ir(b);kr(a);return}function Am(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 Bm(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 Cm(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 Dm(a){a=a|0;var b=0,c=0;f[a>>2]=2736;b=f[a+60>>2]|0;if(b|0)kr(b);c=a+52|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kr(a);return}ir(b);kr(a);return}function Em(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){Lj(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 Fm(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 Gm(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 Hm(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=Vb(a,b,d)|0;u=c;return a|0}function Im(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 Jm(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 Km(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=(qr(d)|0)==0;a=Oj(a,e,d)|0;if(!g)pr(d)}else a=Oj(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Lm(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 Mm(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+48>>2]=c;a=1;return a|0}function Nm(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 Om(a){a=a|0;var b=0;f[a>>2]=3100;b=f[a+60>>2]|0;if(b|0)kr(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;ir(b);return}function Pm(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 Qm(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 Rm(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;qo(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(20410,20438,38,20568)}function Sm(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(Pp(a,f[b+8>>2]|0,g)|0)vk(0,b,c,d,e);return}function Tm(a){a=a|0;var b=0;f[a>>2]=2736;b=f[a+60>>2]|0;if(b|0)kr(b);a=a+52|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;ir(b);return}function Um(a){a=a|0;var b=0,c=0;f[a>>2]=1500;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yj(a);kr(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Yj(a);kr(a);return}function Vm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1568;b=f[a+32>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function Wm(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 Xm(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;oi(a+20|0,e,d);u=c;return}function Ym(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 Zm(){var a=0,b=0;a=go(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 _m(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;oi(a+20|0,e,d);u=c;return}function $m(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 an(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;bc(a,b,e);u=d;return}function bn(a){a=a|0;f[a>>2]=3608;Zj(a+8|0);kr(a);return}function cn(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;cc(a,b,e);u=d;return}function dn(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;lk(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function en(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 fn(a){a=a|0;var b=0,c=0;f[a>>2]=3360;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){sk(a);kr(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);sk(a);kr(a);return}function gn(a){a=a|0;var b=0,c=0;f[a>>2]=1500;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Yj(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Yj(a);return}function hn(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(12002,8845,76,17976);return 0}function jn(a){a=a|0;f[a>>2]=3608;Zj(a+8|0);return}function kn(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 ln(a){a=a|0;var b=0,c=0;f[a>>2]=1568;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);kr(c);return}function mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Pp(a,f[b+8>>2]|0,0)|0)Gl(0,b,c,d);return}function nn(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 on(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 hi(a,c,d)|0;return a|0}function pn(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 qn(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1220;b=f[a+8>>2]|0;if(!b){kr(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);kr(b);kr(a);return}function rn(a){a=a|0;var b=0;f[a>>2]=3156;b=f[a+60>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function sn(a){a=a|0;var b=0,c=0;f[a>>2]=3360;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){sk(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);sk(a);return}function tn(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[21310+(a&15)>>0]|0|e;a=Fo(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function un(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 vn(){var a=0,b=0;b=co()|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)np(f[a+12>>2]|0);np(xq()|0)}function wn(a){a=a|0;var b=0;f[a>>2]=2792;b=f[a+60>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function xn(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 yn(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 zn(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);kr(b)}kr(a);return}function An(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 Bn(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 Cn(a){a=a|0;cp(a);f[a>>2]=3296;f[a+40>>2]=1220;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 Dn(a){a=a|0;var b=0,c=0;f[a>>2]=1220;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);kr(c);return}function En(a){a=a|0;var c=0;f[a>>2]=1376;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 Fn(a){a=a|0;f[a>>2]=3156;a=f[a+60>>2]|0;if(!a)return;kr(a);return}function Gn(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 Hn(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14329,14700,64,14340);return 0}function In(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 Jn(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14329,13927,63,14340);return 0}function Kn(a){a=a|0;f[a>>2]=2792;a=f[a+60>>2]|0;if(!a)return;kr(a);return}function Ln(a){a=a|0;var b=0;f[a>>2]=3540;b=f[a+20>>2]|0;if(b|0)kr(b);b=f[a+8>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function Mn(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=Fo(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Nn(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;hi(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function On(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);kr(c);return}function Pn(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);kr(c);return}function Qn(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14329,15039,67,14340);return 0}function Rn(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 Sn(a){a=a|0;var c=0;Lm(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 Tn(a){a=a|0;f[a>>2]=3212;Ik(a+92|0);kr(a);return}function Un(a){a=a|0;var b=0;f[a>>2]=3588;b=f[a+20>>2]|0;if(b|0)kr(b);b=f[a+8>>2]|0;if(!b){kr(a);return}kr(b);kr(a);return}function Vn(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 Wn(a){a=a|0;f[a>>2]=2848;Ik(a+92|0);kr(a);return}function Xn(a){a=a|0;f[a>>2]=3212;Ik(a+92|0);return}function Yn(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 Gg(a,b,c,d,e,f)|0}function Zn(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;_d(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function _n(a,b,c){a=a|0;b=b|0;c=c|0;Xb(a,b,c);return}function $n(a){a=a|0;var b=0;f[a>>2]=3540;b=f[a+20>>2]|0;if(b|0)kr(b);b=f[a+8>>2]|0;if(!b)return;kr(b);return}function ao(a){a=a|0;f[a>>2]=2848;Ik(a+92|0);return}function bo(a){a=a|0;Lo(a);f[a>>2]=6104;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 co(){var a=0,b=0;a=u;u=u+16|0;if(!(za(24664,3)|0)){b=qa(f[6167]|0)|0;u=a;return b|0}else Do(23814,a);return 0}function eo(a){a=a|0;var b=0;f[a>>2]=3588;b=f[a+20>>2]|0;if(b|0)kr(b);b=f[a+8>>2]|0;if(!b)return;kr(b);return}function fo(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=en(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function go(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=vq()|0;if(!a){a=0;break}Ta[a&3]()}return a|0}function ho(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=nr(f[a+60>>2]|0)|0;f[c>>2]=a;a=ip(ua(6,c|0)|0)|0;u=b;return a|0}function io(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 jo(a){a=a|0;var b=0;b=u;u=u+16|0;lc(a);if(!(ra(f[6167]|0,0)|0)){u=b;return}else Do(23913,b)}function ko(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 lo(){}function mo(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 no(a,b){a=a|0;b=b|0;return Oh(a+40|0,b)|0}function oo(a,b){a=a|0;b=b|0;return Nk(a+40|0,b)|0}function po(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 qo(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 ro(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 so(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nj(a,b,c,d)|0}function to(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=nq(a,b,e)|0;u=d;return c|0}function uo(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 vo(){var a=0;a=u;u=u+16|0;if(!(ta(24668,112)|0)){u=a;return}else Do(23863,a)}function wo(a,b,c){a=a|0;b=b|0;c=c|0;pl(a,b,c);return}function xo(a){a=a|0;hg(a);kr(a);return}function yo(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 zo(a){a=a|0;return 4}function Ao(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 Co(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 Do(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1545]|0;Ki(b,a,c)|0;Wk(10,b)|0;wa()}function Eo(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 Fo(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 Go(a){a=a|0;var b=0;f[a>>2]=3884;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return jj(a,b,c,d)|0}function Io(a){a=a|0;ig(a);kr(a);return}function Jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return tl(a,b,c,d)|0}function Ko(a){a=a|0;return 5}function Lo(a){a=a|0;var b=0;f[a>>2]=6144;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Mo(a){a=a|0;return 6}function No(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ul(a,b,c,d)|0}function Oo(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 Po(a,b){a=a|0;b=b|0;pk(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Qo(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ui(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;wo(a,b,c);return}function So(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return yh(a,b,c,d)|0}function To(a,b,c){a=a|0;b=b|0;c=c|0;return wj(a,b,c)|0}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;return kk(a,b,c)|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;Na[a&3](b|0,c|0,d|0,e|0,f|0)}function Wo(a,b,c){a=a|0;b=b|0;c=c|0;Dk(a,b,c);return}function Xo(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Yo(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 Zo(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0}function _o(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function $o(a,b){a=a|0;b=b|0;f[a+52>>2]=b;Sp(a,b);return}function ap(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 bp(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 cp(a){a=a|0;En(a);f[a>>2]=1500;f[a+36>>2]=0;return}function dp(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 ep(a){a=a|0;if((b[a+11>>0]|0)<0)kr(f[a>>2]|0);return}function fp(a){a=a|0;if(!a)return;Oa[f[(f[a>>2]|0)+4>>2]&127](a);return}function gp(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 hp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)on(a|0,b|0,c|0)|0;return a|0}function ip(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ar()|0;f[b>>2]=0-a;a=-1}return a|0}function jp(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 kp(a,b){a=a|0;b=b|0;return -1}function lp(a,b){a=a|0;b=b|0;op(a,b);return}function mp(a){a=a|0;if(!a)a=0;else a=(Li(a,1096,1168,0)|0)!=0;return a&1|0}function np(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();Do(23966,b)}function op(a,b){a=a|0;b=b|0;gm(a,b);return}function pp(a){a=a|0;tj(a);kr(a);return}function qp(a,b){a=a|0;b=b|0;Di(a,b);f[a>>2]=1316;return}function rp(a,b,c){a=a|0;b=b|0;c=c|0;wp(a,b,c);return}function sp(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function tp(a){a=a|0;zp(a);f[a>>2]=3360;f[a+56>>2]=0;return}function up(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 vp(a){a=a|0;return f[a+12>>2]|0}function wp(a,b,c){a=a|0;b=b|0;c=c|0;Wo(a,b,c);return}function xp(){var a=0;a=go(64)|0;Lm(a);return a|0}function yp(a,b){a=a|0;b=b|0;return $(Dp(a,b))}function zp(a){a=a|0;Go(a);f[a>>2]=3716;f[a+52>>2]=0;return}function Ap(a){a=a|0;if(!a)return;fk(a);kr(a);return}function Bp(a){a=a|0;return Ra[f[(f[a>>2]|0)+60>>2]&127](a)|0}function Cp(a){a=a|0;return f[a+4>>2]|0}function Dp(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Oj(b,c,a)|0;return}function Fp(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 Gp(){var a=0;a=go(96)|0;Sn(a);return a|0}function Hp(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Ip(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Jp(a,b){a=a|0;b=b|0;if(!a)a=0;else a=bk(a,b,0)|0;return a|0}function Kp(a){a=a|0;var b=0;b=(gr()|0)+188|0;return vl(a,f[b>>2]|0)|0}function Lp(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 Mp(a,b){a=a|0;b=b|0;return Up(a,b)|0}function Np(){var a=0;a=go(12)|0;Yp(a);return a|0}function Op(a){a=a|0;Yj(a);kr(a);return}function Pp(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Qp(a,b){a=a|0;b=b|0;var c=0;c=bq(a|0)|0;return ((b|0)==0?a:c)|0}function Rp(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Sp(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Tp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _d(a,b,c,d,0)|0}function Up(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Vp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Wp(){var a=0;a=go(84)|0;Lo(a);return a|0}function Xp(a){a=a|0;Fa(23388,23417,1183,23518)}function Yp(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Zp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function _p(a){a=a|0;Fa(23344,23243,315,23367)}function $p(a){a=a|0;Fa(23220,23243,304,23518)}function aq(a,b,c){a=a|0;b=b|0;c=c|0;return Va[a&127](b|0,c|0)|0}function bq(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function cq(a){a=a|0;zp(a);f[a>>2]=3788;return}function dq(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function eq(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 fq(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function gq(a){a=a|0;if(!a)return;kr(a);return}function hq(){var a=0;a=go(1)|0;pr(a);return a|0}function iq(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function jq(a){a=a|0;b[a+28>>0]=1;return}function kq(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function lq(a){a=a|0;pk(a);return}function mq(a,b){a=a|0;b=b|0;return 1}function nq(a,b,c){a=a|0;b=b|0;c=c|0;return jk(a,2147483647,b,c)|0}function oq(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function pq(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function qq(){var a=0;a=go(36)|0;Tq(a);return a|0}function rq(){var a=0;a=go(108)|0;bo(a);return a|0}function sq(a){a=a|0;sk(a);kr(a);return}function tq(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function uq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function vq(){var a=0;a=f[6168]|0;f[6168]=a+0;return a|0}function wq(a){a=a|0;return f[a+56>>2]|0}function xq(){var a=0;a=f[1765]|0;f[1765]=a+0;return a|0}function yq(a){a=a|0;Vh(a);kr(a);return}function zq(a){a=a|0;return b[a+24>>0]|0}function Aq(a,b){a=a|0;b=b|0;return 0}function Bq(a){a=a|0;return f[a+40>>2]|0}function Cq(a){a=a|0;return f[a+48>>2]|0}function Dq(a,b){a=a|0;b=b|0;return Ra[a&127](b|0)|0}function Eq(a){a=a|0;return f[a+60>>2]|0}function Fq(a){a=a|0;return f[a+28>>2]|0}function Gq(a){a=a|0;xa(a|0)|0;vn()}function Hq(a){a=a|0;return 3}function Iq(a,b){a=a|0;b=b|0;u=a;v=b}function Jq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Kq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Lq(a){a=a|0;return f[a+80>>2]|0}function Mq(a,b){a=a|0;b=b|0;Oa[a&127](b|0)}function Nq(a,b){a=a|0;b=b|0;return Qo(a,b)|0}function Oq(a){a=a|0;pr(a);kr(a);return}function Pq(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function Qq(a){a=a|0;return 2}function Rq(a){a=a|0;f[a>>2]=7156;return}function Sq(a){a=a|0;return 1}function Tq(a){a=a|0;lq(a);return}function Uq(a,b){a=+a;b=b|0;return +(+ql(a,b))}function Vq(){return 3}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function Xq(){return 0}function Yq(){return -1}function Zq(){return 4}function _q(){return 1}function $q(){return 2}function ar(){return (gr()|0)+64|0}function br(a,b){a=a|0;b=b|0;aa(9);return 0}function cr(a){a=a|0;return 24006}function dr(a){a=a|0;Ta[a&3]()}function er(){Ga()}function fr(a,b){a=a|0;b=b|0;aa(3)}function gr(){return ur()|0}function hr(a){a=a|0;return go(a)|0}function ir(a){a=a|0;kr(a);return}function jr(a){a=a|0;u=a}function kr(a){a=a|0;lc(a);return}function lr(a){a=a|0;I=a}function mr(){return 24600}function nr(a){a=a|0;return a|0}function or(a){a=a|0;aa(5);return 0}function pr(a){a=a|0;return}function qr(a){a=a|0;return 0}function rr(){return I|0}function sr(){return u|0}function tr(a){a=a|0;aa(2)}function ur(){return 6308}function vr(){aa(7)} + +// EMSCRIPTEN_END_FUNCS +var Ma=[Pq,Oo,fq,jm,Rn,Eh,qk,tm,Fi,qc,Jg,Dh,ij,_g,Xi,ji,qm,Nn,Ck,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq];var Na=[uq,tk,ti,uq];var Oa=[tr,pr,ir,Dn,qn,bm,Vl,Vl,Yj,Op,tj,pp,gn,Um,ln,Vm,Vm,Vm,Vm,dl,_k,Jl,xl,am,Sl,km,Yl,pr,ir,Vm,Vm,bl,Zk,Dl,sl,_l,Rl,em,Ul,pr,ir,gn,Um,pr,ir,ir,pr,ir,ir,ir,dm,Wl,Tm,Dm,Kn,wn,ao,Wn,pr,ir,ir,ir,$l,Tl,Om,zm,Fn,rn,Xn,Tn,pr,ir,yl,ml,sn,fn,ig,Io,wl,kl,$n,Ln,Xm,zl,rl,eo,Un,_m,jn,bn,hg,xo,sk,sq,sq,pr,ir,sq,sq,sq,Nl,Fl,hb,Vh,yq,pr,Oq,pr,pr,Oq,pr,Oq,jo,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr];var Pa=[fr,Cl,rh,Hl,Uc,fr,fr,fr];var Qa=[Lp,Md,fc,Lb,_a,je,qe,hn,ic,Mb,Za,ee,oe,hn,Jk,Ve,pd,eb,di,Bi,ac,of,qd,cb,Yh,vi,$b,Lp,Lp,Lp,Lp,Lp];var Ra=[or,Qq,Sq,Sq,Qq,qr,qr,qr,ol,Ph,Sq,Cp,qr,qr,Sq,qr,Sq,Sq,Fm,Qq,Fm,zo,Fm,Hq,Am,Sq,Ko,Am,Sq,Mo,fm,Sq,Fq,Sq,Fm,Qq,Fm,zo,Fm,Hq,Am,Sq,Ko,Am,Sq,Mo,fm,Sq,Fq,Sq,Hq,Qq,Hq,qr,Cp,Sq,qr,Sq,Hq,Sq,ym,Qq,ym,zo,ym,Hq,sm,Sq,Ko,sm,Sq,Mo,Zl,Sq,Fq,Sq,ym,Qq,ym,zo,ym,Hq,sm,Sq,Ko,sm,Sq,Mo,Zl,Sq,Fq,Sq,Qq,Sq,Sq,jf,Sq,Bp,kg,zi,Il,Zo,Xo,ab,vp,Cp,ii,ni,oh,$a,vp,Cp,Sq,qr,qr,Rb,ok,qr,Sq,Sq,Tk,qr,Tk,gl,ho,cr,or,or];var Sa=[Wq,Tf,hk,Yb,_b,ef,Yb,_b,bi,zk,Bh,uh,Wq,Wq,Wq,Wq];var Ta=[vr,er,Xj,vo];var Ua=[eq,Sm,Xl,eq];var Va=[br,Jm,Oi,We,Nm,Aq,Aq,Aq,mq,mq,fb,_o,mq,mq,Hj,mk,rj,ll,wm,xm,im,el,hl,Qf,kp,Aq,Gj,bg,Qn,Ym,xe,Hn,Ym,sg,Jn,Wm,xh,Bn,bg,Qn,Ym,xe,Hn,Ym,sg,Jn,Wm,xh,Bn,oo,kp,Aq,Bj,_f,Qn,Pm,we,Hn,Pm,qg,Jn,Mm,vh,Bn,_f,Qn,Pm,we,Hn,Pm,qg,Jn,Mm,vh,Bn,no,Co,uo,Eo,Bo,Ci,jl,Ll,Jb,ff,Vn,Hg,Kg,Lg,Ai,jl,Ll,Ib,ff,Vn,mq,Aq,Aq,Tg,An,Ek,Tg,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br,br];var Wa=[Jq,mn,nm,Jq];return{_emscripten_bind_PointAttribute_normalized_0:tq,_bitshift64Lshr:Fo,_emscripten_bind_PointAttribute_size_0:Lq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Xq,_sbrk:Gm,_memcpy:hi,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Yq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Xq,___udivmoddi4:_d,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:_q,_emscripten_bind_Mesh_num_faces_0:Ip,_emscripten_get_global_libc:mr,stackSave:sr,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Uo,___cxa_can_catch:un,_free:lc,runPostSets:lo,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Yq,_emscripten_bind_DracoInt8Array___destroy___0:zn,_emscripten_bind_PointAttribute_byte_stride_0:Bq,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Yn,_emscripten_bind_MeshBuilder_MeshBuilder_0:hq,_emscripten_bind_Metadata_Metadata_0:Zm,_emscripten_bind_PointCloud_num_attributes_0:Rp,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:hq,_emscripten_bind_Mesh_Mesh_0:rq,_emscripten_bind_MetadataBuilder_AddIntEntry_3:No,_emscripten_bind_DracoInt8Array_GetValue_1:Mp,setThrew:kq,_emscripten_bind_PointAttribute_num_components_0:zq,_emscripten_bind_MeshBuilder___destroy___0:gq,___cxa_is_pointer_type:mp,_llvm_cttz_i32:xn,_i64Add:dp,stackAlloc:Hp,_emscripten_bind_Mesh_num_points_0:Lq,___divdi3:Bl,_emscripten_bind_Encoder_SetAttributeQuantization_2:Ro,getTempRet0:rr,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:Xq,_emscripten_bind_Mesh_num_attributes_0:Rp,_llvm_bswap_i32:bq,_emscripten_bind_PointAttribute_unique_id_0:Eq,establishStackSpace:Iq,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:So,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Vq,_bitshift64Ashr:mo,_emscripten_bind_DracoInt8Array_size_0:Zp,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:Jo,_emscripten_bind_MetadataBuilder_AddStringEntry_3:Ho,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:$q,_emscripten_bind_VoidPtr___destroy___0:gq,_memset:uk,_emscripten_bind_PointAttribute_attribute_type_0:wq,_emscripten_bind_PointCloud___destroy___0:fp,_i64Subtract:bp,setTempRet0:lr,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Np,_emscripten_bind_DracoFloat32Array___destroy___0:zn,_emscripten_bind_Mesh_set_num_points_1:oq,_emscripten_bind_PointCloud_num_points_0:Lq,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:_q,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:xp,___muldsi3:en,_emscripten_bind_PointAttribute_data_type_0:Fq,_emscripten_bind_DracoFloat32Array_size_0:Zp,_emscripten_bind_GeometryAttribute___destroy___0:gq,_emscripten_bind_MetadataBuilder___destroy___0:gq,_malloc:Xa,_emscripten_replace_memory:La,_memmove:on,_emscripten_bind_PointCloud_PointCloud_0:Wp,_emscripten_bind_Mesh___destroy___0:fp,_emscripten_bind_Metadata___destroy___0:Ap,___udivdi3:Tp,_emscripten_bind_PointAttribute_byte_offset_0:Cq,_bitshift64Shl:Ao,_emscripten_bind_Encoder_Encoder_0:qq,_emscripten_bind_Encoder_SetSpeedOptions_2:rp,___muldi3:fo,___uremdi3:Zn,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Np,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Zq,_emscripten_bind_Encoder___destroy___0:Vk,_emscripten_bind_DracoFloat32Array_GetValue_1:yp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:To,_emscripten_bind_Encoder_SetEncodingMethod_1:lp,_emscripten_bind_PointAttribute_PointAttribute_0:Gp,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:_q,stackRestore:jr,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:so,_emscripten_bind_PointAttribute___destroy___0:Lk,stackAlloc:Hp,stackSave:sr,stackRestore:jr,establishStackSpace:Iq,setThrew:kq,setTempRet0:lr,getTempRet0:rr,dynCall_iiii:up,dynCall_viiiii:Vo,dynCall_vi:Mq,dynCall_vii:pq,dynCall_iiiiiii:ro,dynCall_ii:Dq,dynCall_viii:Fp,dynCall_v:dr,dynCall_viiiiii:yo,dynCall_iii:aq,dynCall_viiii:gp}}) + + +// 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_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 _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];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;i>>16&65535)*h+m*(f>>>16&65535)<<16>>>0)|0}},"es6","es3"); +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(e,h,f){e!=Array.prototype&&e!=Object.prototype&&(e[h]=f.value)};$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this); +$jscomp.polyfill=function(e,h,f,z){if(h){f=$jscomp.global;e=e.split(".");for(z=0;z>>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.Symbol=function(){var e=0;return function(m){return $jscomp.SYMBOL_PREFIX+(m||"")+e++}}(); -$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 m=0;return $jscomp.iteratorPrototype(function(){return m>0];case "i8":return N[a>>0];case "i16":return sa[a>>1];case "i32":return u[a>>2];case "i64":return u[a>>2];case "float":return ya[a>> -2];case "double":return za[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 la?la: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 h,m;g>0]=k;break;case "i8":N[l>>0]=k;break;case "i16":sa[l>>1]=k;break;case "i32":u[l>>2]=k;break;case "i64":tempI64=[k>>>0,(tempDouble=k,1<=+qb(tempDouble)?0>>0:~~+tb((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)]; -u[l>>2]=tempI64[0];u[l+4>>2]=tempI64[1];break;case "float":ya[l>>2]=k;break;case "double":za[l>>3]=k;break;default:M("invalid type for setValue: "+ea)}m!==d&&(h=n.getNativeTypeSize(d),m=d);g+=h}}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>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 ia(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 qa(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=ia(g)+1;var f=la(e);Ea(g,G,f,e);var k=la(4);var l=d(f,0,0,k);if(0===h(k,"i32")&&l){var m=t(l);break a}}catch(xd){}finally{f&& -Ia(f),k&&Ia(k),l&&Ia(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 ja(){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 qa(d)}function Fa(a,b){0>2]>b)return!1;var c=x;for(x=Math.max(x,ub);x>2];)x=536870912>=x?Fa(2*x,d):Math.min(Fa((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 ka(d){for(;0>2]=d;d=ua.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 va(d,b){va.seen||(va.seen={});d in va.seen||(a.dynCall_v(b),va.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 e=d=0;c[e];)++e;if(16g?e+=String.fromCharCode(g):(g-=65536,e+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else e+=String.fromCharCode(g)}}b(d);c.length=0}else c.push(d)});for(b=0;b>2],h=u[g+(8*b+4)>>2],l=0;la.length||3=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>2];a=(b+a+15|0)&-16;u[X>>2]=a;return a>=x&&!Va()?(u[X>>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},oa=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);Ea(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, +},stackAlloc:function(a){var b=T;T=T+a|0;T=T+15&-16;return b},staticAlloc:function(a){var b=X;X=X+a|0;X=X+15&-16;return b},dynamicAlloc:function(a){var b=u[Y>>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 lb= -new Float32Array(1);Math.fround=function(a){lb[0]=a;return lb[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 qb=Math.abs,tb=Math.ceil,sb=Math.floor,rb=Math.min,fa=0,Ka=null,ta=null;a.preloadedImages={};a.preloadedAudios={};var U=null;(function(d){function b(a,b){var d=t;if(0>a.indexOf("."))d=(d||{})[a]; +c+="ret = "+e+"(ret);");d||(b(),c+=f.stackRestore.body.replace("()","(stack)")+";");return eval(c+"return ret})")}})();var $a="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var Ia=65536,Xa=16777216,tb=16777216,N,G,ra,Va,u,Wa,xa,ya,X,Oa,T,Ba,Pa,Y;var Qa=X=Oa=T=Ba=Pa=Y=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var b=ArrayBuffer.transfer(H,a);else{var d=N;b=new ArrayBuffer(a);(new Int8Array(b)).set(d)}}catch(g){return!1}return Ib(b)? +b:!1});try{var Ra=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ra(new ArrayBuffer(4))}catch(d){Ra=function(a){return a.byteLength}}var Sa=a.TOTAL_STACK||5242880,x=a.TOTAL_MEMORY||16777216;x>>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=Fa(a,d.usingWasm?Ja:Ya);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"=== +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())}},Da={};a._sbrk=Pb;a._memmove=Qb;var Ua=1;a._llvm_bswap_i32=Rb;hb.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)}});X=R(1,"i32",2);Pa=T=n.alignMemory(W);Ca=Pa+Ta;Qa=n.alignMemory(Ca);u[X>>2]=Qa;a.wasmTableSize=780;a.wasmMaxTableSize=780;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:Sa};a.asmLibraryArg={abort:M,assert:f,enlargeMemory:Va, +return q};var x=d.asm})(a);Qa=n.GLOBAL_BASE;X=Qa+28928;La.push();U=0<=a.wasmJSMethod.indexOf("asmjs")||0<=a.wasmJSMethod.indexOf("interpret-asm2wasm")?"draco_decoder.js.mem":null;a.STATIC_BASE=Qa;a.STATIC_BUMP=28928;var Lb=X;X+=16;var C={last:0,caught:[],infos:{},deAdjust:function(a){if(!a||C.infos[a])return a;for(var b in C.infos)if(C.infos[b].adjusted===a)return b;return a},addRef:function(a){a&&C.infos[a].refcount++},decRef:function(d){if(d){var b=C.infos[d];f(0>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=780;a.wasmMaxTableSize=780;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(Ga){if("number"!==typeof Ga&&"longjmp"!==Ga)throw Ga;a.setThrew(1,0)}},_pthread_getspecific:function(a){return Da[a]||0},___syscall54:function(a,b){r.varargs=b;return 0},_pthread_setspecific:function(a,b){if(!(a in Da))return 22;Da[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 ma?ma.uncaught_exception++:ma.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,ma.uncaught_exception--);b&&(b.rethrown=!1);C.caught.push(a);C.addRef(C.deAdjust(a));return a},___syscall146:ca,_pthread_once:va,_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]=Ua;Da[Ua]=0; -Ua++;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:ua,___assert_fail:function(a,b,c,e){oa=!0;throw"Assertion failed: "+t(a)+", at: "+[b?t(b):"unknown filename",c,e?t(e):"unknown function"]+" at "+ja();},___cxa_pure_virtual:function(){oa=!0;throw"Pure virtual function called!";},___cxa_allocate_exception:function(a){return la(a)},__ZSt18uncaught_exceptionv:ma,DYNAMICTOP_PTR:X,tempDoublePtr:Mb,ABORT:oa,STACKTOP:T,STACK_MAX:Ca};var mb=a.asm(a.asmGlobalArg,a.asmLibraryArg,H);a.asm=mb;var Sb=a._emscripten_bind_Decoder_GetAttributeFloat_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Tb=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Vb=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null, -arguments)},Wb=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Xb=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Pb=a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)},Ob=a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)}; -var Yb=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},Zb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},$b=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},ac=a._emscripten_bind_Status_ok_0= -function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},bc=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 cc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},dc=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 ec=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 Ia=a._free=function(){return a.asm._free.apply(null,arguments)},fc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE= -function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null,arguments)},gc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},hc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},Ib=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null, -arguments)},ic=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},Fb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},jc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_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_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},mc=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 nc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},oc=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},pc=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 zb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},qc=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 rc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},sc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},tc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Gb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null, -arguments)},Bb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.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)},Rb=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)},Eb=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)},Nb=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_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};var Hb=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_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null, -arguments)},Db=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)},la=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)},Jb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)},Qb=a._memmove=function(){return a.asm._memmove.apply(null,arguments)},wb=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)},Ab=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)},xb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},Cb= -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)},yb=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=mb; -if(U)if("function"===typeof a.locateFile?U=a.locateFile(U):a.memoryInitializerPrefixURL&&(U=a.memoryInitializerPrefixURL+U),pa||Ba){var wd=a.readBinary(U);G.set(wd,n.GLOBAL_BASE)}else{var ob=function(){a.readAsync(U,nb,function(){throw"could not load memory initializer "+U;})};Za("memory initializer");var nb=function(d){d.byteLength&&(d=new Uint8Array(d));G.set(d,n.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;$a("memory initializer")};if(a.memoryInitializerRequest){var pb= -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),ob()):nb(d.response)};a.memoryInitializerRequest.response?setTimeout(pb,0):a.memoryInitializerRequest.addEventListener("load",pb)}else ob()}a.then=function(d){if(a.calledRun)d(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};na.prototype=Error();na.prototype.constructor= -na;var vb,eb=null;ta=function b(){a.calledRun||La();a.calledRun||(ta=b)};a.callMain=a.callMain=function(b){function c(){for(var a=0;3>a;a++)f.push(0)}b=b||[];Aa||(Aa=!0,ka(Ma));var e=b.length+1,f=[R(ra(a.thisProgram),"i8",0)];c();for(var h=0;h=k.size?(f(0>=1;break;case 4:e>>=2;break;case 8:e>>=3}for(var b=0;b>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

     
     
-    
+